使用 Tempo 可视化 WizTelemetry 链路追踪的数据
本节介绍如何使用 Grafana Tempo for WizTelemetry(简称为 Tempo) 将 WizTelemetry 链路追踪的分布式追踪数据以可视化的方式呈现在 Grafana 控制台,即,将用户请求在分布式系统中的完整流转过程进行可视化。
前提条件
已通过 Grafana for WizTelemetry 扩展组件部署一个 Grafana 控制台。
操作步骤
-
安装 Grafana Tempo for WizTelemetry 扩展组件到集群。
-
进入已安装 Tempo 的集群,在应用负载 > 服务页面,查找服务
tempo-distributor,点击名称进入详情页面。点击操作 > 编辑外部访问,开启 NodePort。然后在此页面获取服务端口4317对应的 NodePort。
说明 取决于您的网络环境,您可能需要配置流量转发规则并在防火墙中放行该 NodePort 端口。
-
安装 WizTelemetry 链路追踪扩展组件,并修改扩展组件配置,以便将追踪数据发送到 Tempo。
collector: collector: config: | exporters: otlp: # tempo-distributor.wiz-telemetry-tracing:4317 endpoint: < tempo distributor grpc endpoint > headers: x-scope-orgid: wiztelemetry-tracing-ks tls: insecure: true service: pipelines: traces: exporters: - otlp - otlphttp注意将
< tempo distributor grpc endpoint >替换为<cluster-node-ip>:<grpc nodeport>。例如,根据上一步获取的 NodePort,应修改为<cluster-node-ip>:31459。 -
在 Grafana 控制台中配置 Tempo 数据源。
若 Tempo 和 Grafana for WizTelemetry 扩展组件部署在同一集群,Tempo 安装完成后,会自动在 Grafana 控制台添加 Tempo 数据源。

若 Tempo 和 Grafana for WizTelemetry 扩展组件部署在不同集群,您需要通过 NodePort 或 LoadBalancer 暴露服务
tempo-query-frontend以获取 Tempo 数据源的服务器地址,然后在 Grafana 控制台手动添加 Tempo 数据源。详细步骤如下:-
暴露
tempo-query-frontend服务下文以 NodePort 方式暴露
tempo-query-frontend服务。-
进入已安装 Tempo 的集群,在应用负载 > 服务页面,查找服务
tempo-query-frontend,点击名称进入详情页面。 -
点击操作 > 编辑外部访问,开启 NodePort。然后在此页面获取服务端口
3100对应的 NodePort。

-
-
手动添加 Tempo 数据源
-
登录 Grafana 控制台后,点击左侧导航栏的 Connections。
-
搜索数据源,如 Tempo。
-
点击数据源名称,进入数据源概览页面。
-
点击右上角的 Add new data source,进入数据源配置页面。
-
输入 Tempo 数据源的服务器地址:
<cluster-node-ip>:<tempo-query-frontend-nodeport>。例如,根据上一步获取的 NodePort,应输入<cluster-node-ip>:30835。
-
添加 header。
x-scope-orgid: wiztelemetry-tracing-ks
-
为 Service graph 设置 Prometheus 数据源。

-
点击最下方的 Save & test,完成数据源的添加。
-
-
-
在 Grafana 控制台的左侧导航栏点击 Explore 进入页面,选择 Tempo 数据源。
-
点击 TraceQL 页签,然后点击右上角的
运行查询,以列出最新追踪数据。点击其中一个查看链路图。
-
点击 Service Graph 页签,然后点击右上角的
运行查询,以查看由 Tempo 生成的服务拓扑图。
说明 有关 Tempo 的更多信息,请参阅 Grafana Tempo 官方文档。