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

无法从Grafana Loki与OTEL Collector向Tempo传输追踪数据求助

排查步骤与配置修正建议

1. 修正Fluent Bit的OpenTelemetry输出端口

你的Fluent Bit配置中,opentelemetry输出使用了55680端口,这是旧版OTLP非标准端口。当前OTEL Collector的OTLP HTTP接收器监听的是标准端口4318,需调整配置:

[OUTPUT]
  Name opentelemetry
  Match kube.*
  Host "otel-collector-svc.monitoring-loki"
  Port "4318" 
  Traces_uri /v1/traces
  Logs_uri /v1/logs

同时确认日志中确实存在trace_id字段,且Fluent Bit已正确解析提取该字段——无有效trace_id则无法生成可被Tempo识别的追踪数据。

2. 验证OTEL Collector链路有效性

  • 查看OTEL Collector日志:执行kubectl logs <otel-collector-pod> -n monitoring-loki,搜索是否有trace相关日志(因配置了logging exporter,正常接收时会打印追踪数据)。
  • 检查网络连通性:在OTEL Collector Pod内执行telnet tempo-monitoring-loki.svc.cluster.local 4317,确认Tempo的OTLP gRPC端口可访问。
  • 确认流水线处理器:memory_limiter和batch无异常丢弃数据,可通过日志排查处理器运行状态。

3. 检查Tempo的接收与存储配置

  • 验证端口监听:在Tempo Pod内执行kubectl exec <tempo-pod> -n monitoring-loki -- netstat -plnt,确认4317端口处于监听状态。
  • 检查存储状态:确认PVCstorage-tempo-0已正常绑定且有读写权限,查看Tempo日志是否存在存储写入错误。
  • 核对trace ID:确保查询的trace ID与OTEL Collector日志中打印的完全一致(注意大小写、长度等格式问题)。

4. 排查其他潜在问题

  • 日志路径匹配:确认Fluent Bit的Path /var/log/*.log是否覆盖了目标应用的容器日志,K8s容器日志通常路径为/var/log/containers/*.log,需按需调整。
  • 同节点访问优化:若Fluent Bit与OTEL Collector均为DaemonSet模式,可将Fluent Bit输出Host改为localhost,并确保OTEL Collector配置了hostPort或hostNetwork: true,避免跨节点网络损耗。

内容的提问来源于stack exchange,提问作者Harsh Vardhan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 05:25:02