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

本文介绍如何使用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

    image.png

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

    image.png

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

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

    image.png

    image.png

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

    image.png

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

配置区域

参数名称

说明

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 视图快速诊断系统中的错误和高延迟事件。

image.png

在仪表盘中自定义图表

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

image.png

图表示例:

image.png