- 熟悉 ClickHouse 配置文件
- 一个正在运行的 ClickHouse server 实例
- (可选) 一个正在本地运行的 Grafana 实例
1
确认 opentelemetry_span_log 系统表已启用
如果你没有修改过 请确保该项未被注释掉,否则在接下来的步骤中,你将无法看到
config.xml 中的 opentelemetry_span_log 部分,可以跳过此步骤。打开默认的 ClickHouse config.xml 文件,找到以下部分:system.opentelemetry_span_log。
如果你的 ClickHouse server 没有使用默认配置文件,也可能会出现这种情况。检查你的服务器日志中是否有类似以下内容:2
启用 OpenTelemetry 链路追踪
在 ClickHouse server 运行后,打开 ClickHouse client,并使用以下查询启用 trace 采集:现在运行以下命令后,你应该能看到 然后运行:这会设置 ClickHouse 为已执行查询启动 trace 的概率,其中
opentelemetry_span_log 系统表:1 表示对所有已执行查询都启用 trace。3
获取查询 ID
运行以下示例查询,或运行你想要跟踪的查询:复制查询 ID:
4
生成 trace 文件
运行以下查询,并将其中的查询 ID 替换为你在上一步获取的查询 ID:这会将 trace 写入名为
trace.json 的文件。
默认情况下,该文件会创建在你运行 clickhouse-client 或 clickhouse-local 工具时的当前工作目录中。5
使用内置工具可视化 trace
使用托管的 trace 可视化工具:https://trace-visualizer.clickhouse.com/。
加载上一步中的
trace.json 文件,以将 trace 可视化。6
使用 Grafana 可视化链路追踪
我们建议使用 Grafana 和官方 ClickHouse 插件来可视化并查看链路追踪数据。
该插件已增强,支持通过 Trace Panel 可视化 traces。
这既支持作为一种可视化方式,也支持作为 Explore 中的一个组件。按照”使用 Grafana 和 ClickHouse 实现可观测性”
中介绍的步骤,使用 ClickHouse 插件配置 Grafana。然后,你可以在 Explore 选项卡中运行以下查询,并将 请确保将
trace_id 替换为你自己的值:Query type 设置为 Traces:点击 “Run Query”,然后查看 trace 图: