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

K8s中OpenTelemetry指标无法在Prometheus展示且远程写Thanos报404

Kubernetes 环境 OTel Collector + Thanos 问题排查方案

1. OTel Collector 向 Thanos 远程写入返回404错误

根因判断

这个错误是端点配置错误导致的,和网络连通性、Collector配置合法性无关:Thanos Query Frontend 组件默认仅提供查询路由、缓存、分片能力,默认不开启/api/v1/write写入接口,直接往这个地址写数据必然返回404,属于不可重试的永久性错误。

修复步骤

  • 先做端点有效性验证:在集群同命名空间起一个临时curl Pod,执行以下命令确认接口状态:
    curl -v http://thanos-query-frontend.thanos:9090/api/v1/write
    
    返回404即可确认是组件能力/端点配置错误。
  • 替换为正确的写入端点:Thanos 体系中负责接收Prometheus协议远程写入的组件是 Thanos Receive,将OTel Collector prometheusremotewrite exporter的端点替换为Thanos Receive的Service地址,默认监听端口为10908,配置参考:
    exporters:
      prometheusremotewrite:
        endpoint: "http://thanos-receive.thanos:10908/api/v1/write"
    
  • 若必须走Query Frontend代理写入,需要修改Query Frontend的启动参数:添加--query-frontend.enable-endpoints=write开启写入接口,同时配置--query-frontend.downstream-url=http://thanos-receive.thanos:10908将写入请求转发到后端Thanos Receive,滚动重启Query Frontend Pod后即可正常写入。

2. Prometheus 抓取OTel Collector端点状态为Up但无指标数据

这个问题和远程写入故障独立,按以下顺序排查:

  • 校验Collector管道配置:检查Collector配置文件中service.pipelines.metrics链路是否完整,是否正确关联了prometheus receiver、处理器、exporter;确认没有配置属性过滤、指标丢弃规则把全量指标过滤掉。
  • 校验采集配置:确认prometheus receiver的scrape_configs配置了正确的抓取目标,很多场景下仅开启了Collector自身的metrics端口暴露,没有配置receiver抓取集群内业务/组件指标,导致Prometheus能连通Collector端口(状态显示Up)但没有实际业务指标返回。
  • 校验抓取匹配规则:确认Prometheus的抓取配置和Collector的metrics暴露配置一致:OTel Collector默认自身metrics端口为8888、路径为/metrics,如果自定义了prometheus exporter的监听端口、路径,Prometheus侧的scrape配置需要同步修改,否则会出现抓到其他路径200响应但无指标内容的情况。
  • 本地校验指标输出:进入Collector容器执行curl localhost:8888/metrics,查看返回内容中是否存在目标指标,如果本地访问都没有指标输出,问题出在Collector采集、处理环节,和Prometheus侧配置无关。

内容的提问来源于stack exchange,提问作者Container-Man

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 06:21:19