You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无法用AWS ADOT Prometheus Collector采集Pod指标?

问题:替换为AWS ADOT Prometheus Collector后,Grafana的Prometheus2.0 Stats面板无指标显示

此前使用Prometheus Helm Chart及自定义Chart采集Pod指标,现替换为AWS ADOT架构(Collector→AMP→AWS Grafana),已配置OpenTelemetryCollector资源、RBAC规则及自定义采集作业,但无法在Grafana的Prometheus2.0 Stats面板中看到指标,需排查配置问题或面板兼容性。


排查方向

一、配置问题排查

  • 采集作业有效性验证

    1. 确认自定义采集作业xxxx-service-monitoring的匹配逻辑:检查目标Pod所在命名空间是否为xxxx,容器端口是否为9090/9121。进入ADOT Collector Pod执行curl http://localhost:8888/metrics,过滤prometheus_target_scrape_samples_scraped{job="xxxx-service-monitoring"},查看是否有样本被采集。
    2. 补充Relabel规则:当前配置未设置__address__标签替换,Pod服务发现生成的默认地址可能失效。添加以下规则确保采集地址正确:
      - action: replace
        source_labels: [__meta_kubernetes_pod_ip, __meta_kubernetes_pod_container_port_number]
        separator: ":"
        target_label: __address__
      
  • AMP写入权限与状态验证

    1. 查看ADOT Collector日志:搜索prometheusremotewrite关键词,确认是否有写入成功记录,或是否存在IAM权限错误(如access denied)。需确保xxxxx-role-amp-remote-write-adot角色拥有aps:RemoteWrite权限。
    2. 直接测试AMP写入:使用AWS CLI执行aws aps remote-write --workspace-id xxxxxxx --data file://test-metric.txt(test-metric.txt需包含Prometheus格式的测试指标),验证AMP能否正常接收数据。
  • RBAC权限检查
    执行kubectl auth can-i get pods --as=system:serviceaccount:default:adot-collector-sa,确认adot-collector-sa服务账号已正确绑定otel-prometheus-role,且权限覆盖pods、pods/proxy等服务发现所需资源。

二、兼容性验证

Prometheus2.0 Stats面板默认依赖原生Prometheus的prometheus_*前缀指标,但ADOT Collector的Prometheus Receiver不会自动采集自身的这类指标:

  • 添加Collector自身采集作业:在scrape_configs中加入以下配置,采集ADOT Collector的监控指标:
    - job_name: adot-collector
      static_configs:
        - targets: ["localhost:8888"]
    
  • 验证目标指标是否存在:在Grafana中直接查询自定义服务的指标(而非仅依赖Prometheus2.0 Stats面板)。若目标指标已写入AMP但面板无数据,说明面板依赖原生Prometheus专属指标,需调整面板查询逻辑,或通过采集Collector指标替代。

内容的提问来源于stack exchange,提问作者Jatin Mehrotra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 04:12:01