Jaeger 查询(实验功能)
注意
Jaeger 查询接口目前仍处于实验阶段,在未来的版本中可能会有所调整。
GreptimeDB 目前支持以下 Jaeger 查询接口:
/api/services: 获取所有 Service。/api/operations?service={service}: 获取指定 Service 的所有 Operations。/api/services/{service}/operations: 获取指定 Service 的所有 Operations。/api/traces: 根据查询参数获取 traces 数据。
你可以使用 Grafana 的 Jaeger 插件(推荐) 或者 Jaeger UI 来查询 GreptimeDB 中的 traces 数据。当你在使用 Jaeger UI 的时候,可将 packages/jaeger-ui/vite.config.mts 的 proxyConfig 配置为 GreptimeDB 的地址,比如:
const proxyConfig = {
target: 'http://localhost:4000/v1/jaeger',
secure: false,
changeOrigin: true,
ws: true,
xfwd: true,
};
目前 GreptimeDB 对 Jaeger 协议接口在 /v1/jaeger 路径下。
快速开始
我们将以 Grafana 中使用 Jaeger 插件为例,介绍如何查询 GreptimeDB 中的 traces 数据。在开始之前,请确保你已经正常启动了 GreptimeDB。
启动应用生成 traces 数据并写入 GreptimeDB
你可以参考 OpenTelemetry 官方文档 来选择任意你熟悉的编程语言来生成 traces 并将其写入到 GreptimeDB 中。你也可以参考配置 OpenTelemetry Collector 文档。
配置 Jaeger 插件
-
打开 Grafana,添加 Jaeger 数据源:

-
根据实际情况,填写 Jaeger 地址,然后 Save and Test 即可。比如:
http://localhost:4000/v1/jaeger -
使用 Jaeger Explore 来查看数据:

自定义数据表
GreptimeDB 的 Jaeger 兼容接口默认使用 opentelemetry_traces 表作为其数据源。如
果用户使用了其他表,可以通过 HTTP 头 x-greptime-trace-table-name 进行设置。
Grafana 用户可以在数据源的配置界面进行设置。