暴露指标
OpenTelemetry Collector 会暴露其已处理数据量的指标。这些指标对于监控 Collector 的运行状态以及诊断数据采集问题非常有价值。
可用指标
Collector 会暴露以下与数据处理量相关的指标:
Spans 指标
otelcol_receiver_accepted_spans:Receiver 接受的 span 数量otelcol_receiver_refused_spans:Receiver 拒绝的 span 数量otelcol_exporter_sent_spans:Exporter 发送的 span 数量otelcol_exporter_enqueue_failed_spans:Exporter 中入队失败的 span 数量
Logs 指标
otelcol_receiver_accepted_logs:Receiver 接受的日志记录数量otelcol_receiver_refused_logs:Receiver 拒绝的日志记录数量otelcol_exporter_sent_logs:Exporter 发送的日志记录数量otelcol_exporter_enqueue_failed_logs:Exporter 中入队失败的日志记录数量
Metrics 指标
otelcol_receiver_accepted_metrics:Receiver 接受的指标数据点数量otelcol_receiver_refused_metrics:Receiver 拒绝的指标数据点数量otelcol_exporter_sent_metrics:Exporter 发送的指标数据点数量otelcol_exporter_enqueue_failed_metrics:Exporter 中入队失败的指标数据点数量
配置指标暴露
配置 Prometheus 指标端点
要暴露 Collector 的内部指标,请在 OpenTelemetryCollector 自定义资源(CR)中配置一个 Prometheus pull exporter。以下示例将 Collector 配置为在端口 8888 上以 Prometheus 格式暴露指标:
启用指标抓取
要让 Prometheus 自动抓取 Collector 指标,请在 OpenTelemetryCollector CR 中将 spec.observability.metrics.enableMetrics 字段设置为 true。Operator 会根据 Collector 的部署模式自动创建 ServiceMonitor 或 PodMonitor 资源:
手动验证(可选)
你可以使用 kubectl port-forward 直接访问 Collector 的指标端口,从而验证指标端点:
然后,在浏览器中打开 http://localhost:8888/metrics,或者使用 curl 验证指标是否已暴露:
访问指标
启用指标抓取后,你可以通过 Alauda Container Platform 中的 Prometheus Web 控制台验证并访问 Collector 指标:
-
访问 Alauda Container Platform 集群中的 Prometheus Web 控制台。
-
导航到 Status → Targets。
-
验证
<instance_name>-collector格式的ServiceMonitors或PodMonitors处于 Up 状态。
当目标确认处于 Up 状态后,你可以使用 Prometheus 查询界面浏览 可用指标 部分中列出的 Collector 指标。