×

OpenTelemetry Collector 提供多种方法来衡量其运行状况以及调查数据摄取问题。

从命令行收集诊断数据

提交支持案例时,包含有关集群的诊断信息对 Red Hat 支持很有帮助。您可以使用 `oc adm must-gather` 工具收集各种类型资源(例如 `OpenTelemetryCollector`、`Instrumentation` 和创建的资源,如 `Deployment`、`Pod` 或 `ConfigMap`)的诊断数据。`oc adm must-gather` 工具会创建一个新的 Pod 来收集这些数据。

步骤
  • 在要保存收集数据的目录中,运行 `oc adm must-gather` 命令以收集数据。

    $ oc adm must-gather --image=ghcr.io/open-telemetry/opentelemetry-operator/must-gather -- \
    /usr/bin/must-gather --operator-namespace <operator_namespace> (1)
    1 安装操作符的默认命名空间是 `openshift-opentelemetry-operator`。
验证
  • 验证是否创建了新目录并包含收集的数据。

获取 OpenTelemetry Collector 日志

您可以按如下方式获取 OpenTelemetry Collector 的日志。

步骤
  1. 在 `OpenTelemetryCollector` 自定义资源 (CR) 中设置相关的日志级别。

      config: |
        service:
          telemetry:
            logs:
              level: debug (1)
    1 收集器的日志级别。支持的值包括 `info`、`warn`、`error` 或 `debug`。默认为 `info`。
  2. 使用 `oc logs` 命令或 Web 控制台检索日志。

公开指标

OpenTelemetry Collector 公开有关其已处理的数据卷的指标。以下指标用于跨度,尽管为指标和日志信号公开了类似的指标。

otelcol_receiver_accepted_spans

已成功推送到管道的跨度数。

otelcol_receiver_refused_spans

无法推送到管道的跨度数。

otelcol_exporter_sent_spans

已成功发送到目标的跨度数。

otelcol_exporter_enqueue_failed_spans

无法添加到发送队列的跨度数。

操作符创建了一个 `-collector-monitoring` 遥测服务,您可以使用它来抓取指标端点。

步骤
  1. 通过在 `OpenTelemetryCollector` 自定义资源 (CR) 中添加以下行来启用遥测服务。

    # ...
      config: |
        service:
          telemetry:
            metrics:
              address: ":8888" (1)
    # ...
    1 公开内部收集器指标的地址。默认为 `:8888`。
  2. 通过运行以下命令检索指标,该命令使用端口转发收集器 Pod。

    $ oc port-forward <collector_pod>
  3. 在 `OpenTelemetryCollector` CR 中,将 `enableMetrics` 字段设置为 `true` 以抓取内部指标。

    apiVersion: opentelemetry.io/v1alpha1
    kind: OpenTelemetryCollector
    spec:
    # ...
      mode: deployment
      observability:
        metrics:
          enableMetrics: true
    # ...

    根据 OpenTelemetry Collector 的部署模式,内部指标会使用PodMonitorsServiceMonitors进行采集。

    或者,如果您未将enableMetrics字段设置为true,则可以访问位于https://127.0.0.1:8888/metrics的指标端点。

  4. 在 Web 控制台的**监控**页面中,启用**用户工作负载监控**以可视化采集到的指标。

    并非所有处理器都公开所需的指标。

  5. 在 Web 控制台中,转到**监控** → **仪表盘**,然后从下拉列表中选择**OpenTelemetry Collector**仪表盘进行查看。

    您可以根据 Collector 实例、命名空间或 OpenTelemetry 组件(例如处理器、接收器或导出器)过滤可视化数据(例如跨度或指标)。

调试导出器

您可以配置调试导出器将收集到的数据导出到标准输出。

步骤
  1. 请按如下所示配置OpenTelemetryCollector自定义资源

      config: |
        exporters:
          debug:
            verbosity: detailed
        service:
          pipelines:
            traces:
              exporters: [debug]
            metrics:
              exporters: [debug]
            logs:
              exporters: [debug]
  2. 使用oc logs命令或 Web 控制台将日志导出到标准输出。

使用网络可观测性操作符进行故障排除

您可以通过使用网络可观测性操作符可视化组件之间的流量来调试。

先决条件
  • 您已按照“安装网络可观测性操作符”中的说明安装了网络可观测性操作符。

步骤
  1. 在 OpenShift Container Platform Web 控制台中,转到**监控** → **网络流量** → **拓扑结构**。

  2. 选择**命名空间**以根据部署 OpenTelemetry Collector 的命名空间过滤工作负载。

  3. 使用网络流量可视化效果来排除可能的故障。有关更多详细信息,请参阅“从拓扑结构视图观察网络流量”。