配置 Collector 指标

OpenTelemetry Collector 会暴露内部指标,这些指标可为其性能和运行状况提供有价值的洞察。这些指标使你能够监控 Collector 的行为,并有效排查潜在问题。

概述

Collector 在以下几个关键领域提供指标:

  • Collector 内存使用情况
  • CPU 利用率
  • 已处理的活跃 trace 和 span 数量
  • 丢弃的 span、日志或指标
  • exporter 和 receiver 统计信息

当你部署 Collector 实例时,Operator 会提供一个专用的监控服务(<instance_name>-collector-monitoring),该服务通过端口 8888 提供这些内部指标。你可以将 Prometheus 或任何兼容的抓取工具指向该服务来收集指标。

NOTE

OpenTelemetryCollector CR 中将 spec.observability.metrics.enableMetrics 设置为 true,会指示 Operator 自动生成对应的 Prometheus ServiceMonitorPodMonitor 资源,因此你无需手动创建抓取配置。

启用 Collector 指标

操作步骤

通过在 CR 中将 spec.observability.metrics.enableMetrics 设置为 true,为 Collector 实例启用指标收集:

apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: <name>
  labels:
    prometheus: kube-prometheus
spec:
  observability:
    metrics:
      enableMetrics: true
  config:
    service:
      telemetry:
        metrics:
          readers:
          - pull:
              exporter:
                prometheus:
                  host: 0.0.0.0
                  port: 8888
                  without_scope_info: true
                  without_type_suffix: true
                  without_units: true
  1. 在 ACP Prometheus 中需要设置 prometheus=kube-prometheus
  2. 使 Operator 自动创建指向 Collector 指标端点的 ServiceMonitorPodMonitor 资源,包括内部 telemetry 和 Prometheus exporter 端口。
  3. 配置 Collector 以 Prometheus 格式在端口 8888 上暴露其内部指标。

验证

你可以使用 Prometheus Web 控制台验证配置是否成功:

  1. 在你的 Alauda Container Platform 集群中访问 Prometheus Web 控制台。

  2. 导航到 StatusTargets

  3. 检查 <instance_name>-collector 格式的 ServiceMonitorsPodMonitors 是否处于 Up 状态。