使用Grafana访问ARMS的Tempo兼容接口

更新时间:
复制 MD 格式

本文介绍如何使用Grafana访问 ARMS 的 Grafana Tempo 兼容接口。

前提条件

  • Tempo 对接支持 Grafana 9.x、10.x、11.x 版本,其中 10.3.0 及以上版本支持 Tempo V2 接口,10.3.0 以下版本只支持 V1 接口。本文以 Grafana 11.5.2 为例进行说明。

  • 已接入ARMS可观测链路 OpenTelemetry 版

  • 已创建RAM用户的AccessKey,并且为RAM用户授予Logstore的查询权限。具体操作,请参见RAM授权

背景信息

Grafana是一款开源的数据可视化和监控平台,支持多种数据源,包括但不限于 Tempo、Graphite、InfluxDB、Prometheus、Elasticsearch等,并提供丰富的图表展示和数据查询功能。

针对习惯使用 Grafana 分析 Trace 数据的用户,ARMS 提供了兼容 Tempo 的接口,便于他们使用 Grafana 的 Tempo 数据源插件访问日志服务进行查询和分析。

配置数据源

  1. 登录Grafana控制台。

  2. 在左侧导航栏,选择Connections > Add new connection

  3. Add new connection页签,找到并单击Tempo

  4. 然后在打开的Tempo详情页中,单击Add new data source

  5. Settings页签中,完成如下配置,然后单击Save&test测试连通性。如显示Data source successfully connected,表示配置正确。如果报错,请参见常见问题和错误排查

  6. Settings 页签中,完成如下配置(URL 和 HTTP Headers),然后单击 Save&test 测试连通性。

    Connection 区域的 URL 字段中填写 Trace 服务的 Tempo 端点地址,例如 https://cn-hangzhou.log.aliyuncs.com/trace/tempo/

    HTTP Headers 区域,单击 + Add header 分别添加 usernamepassworduserIdregionId 四个自定义请求头,并填入对应的值。

    如显示 Successfully connected to Tempo data source,表示配置正确。如果报错,请参见常见问题和错误排查

重要参数配置说明如下表所示,其他参数请使用默认配置。

配置区域

参数名称

说明

Connection

URL

数据访问地址,格式为 https://${sls-endpoint}/trace/tempo/。其中${sls-endpoint}为 Trace 数据所属区域对应的日志服务访问域名。更多信息,请参见服务入口。例如 https://cn-hangzhou.log.aliyuncs.com/trace/tempo/

HTTP headers

username

阿里云账号AccessKeyID。

建议使用RAM用户的AccessKey,该RAM用户需具备日志服务 Logstore的数据查询权限。您可以通过权限助手,配置权限。具体操作,请参见配置权限助手。AccessKey的获取方法,请参见访问密钥

password

阿里云账号AccessKeySecret。

建议使用RAM用户的AccessKeySecret,该RAM用户需具备Logstore的数据查询权限。您可以通过权限助手,配置权限。具体操作,请参见配置权限助手。AccessKey的获取方法,请参见访问密钥

userId

阿里云主账号 ID。

regionId

Trace 数据所在区域。

查看数据

创建数据源后,Grafana 将可以访问存储在日志服务中的 ARMS 调用链数据。通过 Tempo 的插件对接 ARMS 的 Tempo 兼容接口,可以很方便地做图表可视化。

在 Explore 页面搜索 Traces

访问 Grafana 的 Explore 页面,选择已创建的 Tempo 数据源,即可使用常见维度(例如应用名、Span 名称、状态、时间范围、耗时、Span 属性等)搜索 Traces。单击 Trace ID,使用 Explore trace 视图快速诊断系统中的错误和高延迟事件。

Query type 支持 Search(按维度搜索)和 TraceQL(按 Trace ID 查询)两种查询模式。Trace 详情以瀑布图展示各 Span 的层级调用关系及耗时。

在仪表盘中自定义图表

以下展示了如何在仪表盘中为某个应用创建错误 Trace 列表。选择 Tempo 数据源后,在搜索框中下拉选择过滤条件,Service Name 选择关注的应用名、Status 选择 error,然后单击保存。您也可以直接输入 TraceQL 进行筛选:{resource.service.name="mall-gateway" && status=error}

仪表盘包含三个面板:Trace With Errors 表格展示错误追踪记录的 Trace ID、起始时间、服务名、请求路径和耗时;Span Average Duration 仪表盘显示平均 Span 耗时(如 4.49 ms);Span Histogram 柱状图展示 Span 耗时分布。