Skip to content

链路采集排障指南

在尝试排查链路数据采集的问题前,需先理解链路数据的传输路径,下面是链路数据传输示意图:

graph TB

sdk[Language proble / SDK] --> workload[Workload cluster otel collector]
--> otel[Global cluster otel collector]
--> jaeger[Global cluster jaeger collector]
--> es[Elasticsearch cluster]

classDef plain fill:#ddd,stroke:#fff,stroke-width:1px,color:#000;
classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;
classDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;

class sdk,workload,otel,jaeger,es cluster

如上图所示,在任一步骤传输失败都会导致无法查询出链路数据。如果您在完成应用链路增强后发现没有链路数据,请执行以下步骤:

  1. 使用 AI 算力中心平台,进入 可观测性 ,选择左侧导航栏的 仪表盘

    insight 入口

  2. 点击仪表盘标题 概览

    概览

  3. 切换到 insight-system -> insight tracing debug 仪表盘。

    tracing debug

  4. 可以看到该仪表盘由三个区块组成,分别负责监控不同集群、不同组件传输链路的数据情况。通过生成的时序图表,检查链路数据传输是否存在问题。

    • workload opentelemetry collector
    • global opentelemetry collector
    • global jaeger collector

    tracing debug

区块介绍

  1. workload opentelemetry collector

    展示不同工作集群的 opentelemetry collector 在接受 language probe/SDK 链路数据,发送聚合链路数据情况。可以通过左上角的 Cluster 选择框选择所在的集群。

    tracing debug

    Note

    根据这四张时序图,可以判断出该集群的 opentelemetry collector 是否正常运行。

  2. global opentelemetry collector

    展示 全局服务集群opentelemetry collector 在接收 工作集群otel collector 链路数据以及发送聚合链路数据的情况。

    tracing debug

    Note

    全局服务集群opentelemetry collector 还负责发送所有工作集群的全局管理模块审计日志以及 Kubernetes 审计日志(默认不采集)到全局管理模块的 audit server 组件。

  3. global jaeger collector

    展示 全局服务集群jaeger collector 在接收 全局服务集群otel collector 的数据,并发送链路数据到 ElasticSearch 集群的情况。

    tracing debug