架构
最后于 更新
架构图
- 灰色部分的组件是 APO 集成的开源标准化组件。APO 对 Jaeger 1.58 版本进行了改造,支持将链路数据存储到 ClickHouse 中。
- 紫蓝色部分的组件是 APO 额外的能力:
- 保留故障现场数据
- eBPF采集的北极星因果指标
- 故障现场日志与链路的极速关联
数据流图
APO-OneAgent
OneAgent集成了以下的内容:
- 通过虚拟机 preload 机制容器的 odigos 机制加载 OpenTelemetry 探针和环境变量,应用重启后生效
- 通过 eBPF 机制,采集北极星因果指标同时实现回溯算法
- 通过 ilogtail 采集故障现场日志,依据回溯算法采样结果保留故障现场日志
- 通过 Grafana alloy 采集指标,在容器环境中会采集全量日志,全量日志功能不支持虚拟机
- 集成 pinger 的探针,获取网络 ping 指标
在 OneAgent 中链路数据、日志数据直接发送至 Otel collector,指标数据经 alloy 采集之后发送至 Otel collector中
APO-Collector
全局统一协调回溯采样
APO-OTEL-Collector
Otel collector:如果所有数据部署在一起个集群中,Otel collector 就用来采集数据,如果涉及到多集群,被监控的数据集群通过 otel colletor 可以将不同集群的数据统一收集至中心的统一 otel collector中。
ClickHouse
统一存储链路与日志数据
VictoriaMetrics
统一存储指标,在 Grafana 中配置数据源可以查看所有指标。
Jaeger Collector & Jaeger Query
Jaeger 1.58 不支持将链路数据直接写入 ClickHouse 并查询出来,APO修改了 Jaeger RemoteStorage,按照 Jaeger Clickhouse 项目的格式写入 clickhouse 并查询链路,目前集成的 Jaeger 版本为1.58。Jaeger 2.0 发布之后,APO 会集成 Jaeger 2.0。
APO 界面 & Query Service
按照向导式排障组织各种数据的关联与展示。