跳到主要内容
版本:1.0

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 插件​

  1. 打开 Grafana,添加 Jaeger 数据源:

    添加 Jaeger 数据源

  2. 根据实际情况,填写 Jaeger 地址,然后 Save and Test 即可。比如:

    http://localhost:4000/v1/jaeger
  3. 使用 Jaeger Explore 来查看数据:

    Jaeger Explore

自定义数据表​

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

Grafana 用户可以在数据源的配置界面进行设置。