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

部署Jaeger(Collector/Query)+OpenSearch后UI无法显示Span的问题

解决Jaeger UI无数据显示的问题

问题根源

你遇到的情况是因为Jaeger Collector没有启用索引轮转(Index Rollover),导致数据写入了静态的jaeger-span-write和jaeger-service-write索引,但Jaeger Query默认只会查询带日期后缀的jaeger-span-YYYY-MM-DD这类索引,所以UI里看不到数据。

具体解决步骤

1. 重新启动Jaeger All-in-One镜像,指定OpenSearch存储参数

你需要在启动镜像时添加关键参数,强制启用索引轮转,并让Query能正确识别索引。示例启动命令:

docker run -d \
  -e SPAN_STORAGE_TYPE=elasticsearch \
  -e ES_SERVER_URLS=https://your-aws-opensearch-endpoint:443 \
  -e ES_USERNAME=your-opensearch-username \
  -e ES_PASSWORD=your-opensearch-password \
  -e ES_INDEX_PREFIX=jaeger-span \
  -e ES_ROLLOVER=true \
  -e ES_USE_ALIASES=true \
  -e QUERY_ES_INDEX_PREFIX=jaeger-span \
  -p 16686:16686 \
  -p 14268:14268 \
  jaegertracing/all-in-one:latest

核心参数说明:

  • SPAN_STORAGE_TYPE=elasticsearch:指定用兼容ES的OpenSearch作为存储
  • ES_ROLLOVER=true:开启索引自动轮转,生成带日期后缀的索引
  • ES_USE_ALIASES=true:用别名管理索引,Collector写入别名,Query自动查询对应日期索引
  • QUERY_ES_INDEX_PREFIX=jaeger-span:让Query定向查询带日期后缀的目标索引

2. 迁移已写入静态索引的数据(可选)

如果不想丢失已写入jaeger-span-write的数据,可手动将数据迁移到对应日期索引:
在OpenSearch控制台执行以下命令(替换日期为实际日期):

POST _reindex
{
  "source": {
    "index": "jaeger-span-write"
  },
  "dest": {
    "index": "jaeger-span-2023-04-27"
  }
}

同理,将jaeger-service-write的数据迁移到jaeger-service-2023-04-27索引。

3. 验证配置有效性

  • 重新发送遥测数据,检查OpenSearch是否生成jaeger-span-YYYY-MM-DD格式的索引
  • 访问Jaeger UI,确认是否能查询到新的追踪数据

额外注意事项

  • AWS OpenSearch 6.2版本较老,建议使用Jaeger 1.20~1.30区间的镜像版本,避免兼容性问题
  • 如果OpenSearch集群启用VPC访问,需确保Jaeger容器能正常连通集群端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 17:20:08