通过Jaeger采集CnosDB Trace时捕获查询执行计划是否异常?
问题分析:Jaeger采集CnosDB Trace异常
核心异常点
你执行的是CREATE TABLE建表操作,但Jaeger UI中显示的却是针对user_queries表的查询执行计划,这明显不符合预期,属于Trace采集异常。
可能原因与排查方向
- Trace ID不匹配:你在curl请求中指定了
uber-trace-id: 3a3a43:432e345:0:1,但Jaeger中展示的Trace可能不属于这个ID,先核对Jaeger里的Trace ID是否和请求中携带的一致。 - 集群配置未全局生效:集群模式下要确保所有MTA和Data节点都加载了正确的Trace配置,不能只修改单个节点的配置文件——重启集群后可以登录各个节点检查配置是否同步。
- 操作类型的Trace支持差异:CnosDB可能对DDL(如建表)和DML(如查询)的Trace采集逻辑不同,建表操作的Trace可能未被正确生成或上报。可以先执行一条针对
air表的SELECT查询,看Jaeger是否能捕获到对应的执行计划,验证基础采集功能是否正常。 - Jaeger接收端异常:确认Jaeger Agent/Collector是否正常运行,
http://localhost:14268/api/traces端点是否能正常接收数据,可通过简单的POST请求测试连通性。
验证步骤建议
- 执行针对新建
air表的查询,携带明确的测试Trace ID:
curl -i -u "root:" -H "Accept: application/json" -H "uber-trace-id: test-trace-001:abc123:0:1" -XPOST "http://127.0.0.1:12002/api/v1/sql?db=usage_schema&pretty=true" -d "SELECT * FROM air LIMIT 1;"
- 在Jaeger UI中搜索
test-trace-001,查看是否能匹配到该查询的执行计划。 - 检查CnosDB各节点的日志,搜索
jaeger、trace相关关键字,排查是否有Trace上报失败的错误日志。
内容的提问来源于stack exchange,提问作者Baker X
相关产品推荐
相关产品推荐

