All Products
Search
Document Center

Managed Service for OpenTelemetry:Access the Tempo-compatible API of ARMS via Grafana

Last Updated:May 07, 2025

This topic describes how to access the Tempo-compatible API provided by Application Real-Time Monitoring Service (ARMS) via Grafana.

Prerequisites

  • To use Tempo, the Grafana version can be 9.x, 10.x, or 11.x. Grafana 10.3.0 and later versions support Tempo V2 interfaces, while versions earlier than 10.3.0 support only V1 interfaces. This topic uses Grafana 11.5.2 as an example.

  • Your application is being monitored in ARMS or Managed Service for OpenTelemetry.

  • A RAM user and an AccessKey pair have been created. The required permissions to query logs in Simple Log Service (SLS) Logstores are granted to the RAM user. For more information, see Grant permissions to a RAM user.

Background information

Grafana is an open source data visualization and monitoring platform that supports multiple data sources, including but not limited to Tempo, Graphite, InfluxDB, Prometheus, and Elasticsearch. It provides rich charting capabilities and powerful data query features.

For users accustomed to using Grafana to analyze trace data, ARMS provides interfaces compatible with Tempo, making it easy for them to use the Tempo data source plug-in of Grafana to query and analyze data in SLS.

Configure a data source

  1. Log on to the Grafana console.

  2. In the left-side navigation pane, choose Connections > Add new connection.

  3. On the Add new connection page, find and click Tempo.

    image.png

  4. On the Tempo page, click Add new data source.

    image.png

  5. On the Settings tab, complete the configurations in the Connection and HTTP headers sections, and then click Save & test to test the connectivity.

    image.png

    image.png

    If Successfully connected to Tempo data source is displayed, the configurations are correct. If an error occurs, refer to Troubleshoot common issues.

    image.png

The following table describes the important parameters. For other parameters, use the default configurations.

Section

Parameter

Description

Connection

URL

The data access endpoint in the format of https://${sls-endpoint}/trace/tempo/, where ${sls-endpoint} is the endpoint of the SLS service in the region where the trace data is stored. For more information, see Endpoints. Example;

https://cn-hangzhou.log.aliyuncs.com/trace/tempo/.

HTTP headers

username

The AccessKey ID of your Alibaba Cloud account.

We recommend that you use the AccessKey pair of a RAM user who has the permissions to query data in the SLS Logstore. You can use the permission assistant feature to grant permissions to the RAM user. For information about how to use the permission assistant feature, see Configure the permission assistant feature. For information about how to obtain an AccessKey pair, see AccessKey pair.

password

The AccessKey secret of your Alibaba Cloud account.

We recommend that you use the AccessKey pair of a RAM user who has the permissions to query data in the SLS Logstore. You can use the permission assistant feature to grant permissions to the RAM user. For information about how to use the permission assistant feature, see Configure the permission assistant feature. For information about how to obtain an AccessKey pair, see AccessKey pair.

userId

The ID of your Alibaba Cloud account.

regionId

The region where the trace data is stored.

View data

After you create a data source, Grafana can access the ARMS trace data stored in SLS. By connecting the Tempo plug-in to the Tempo-compatible API provided by ARMS, you can easily create chart visualizations.

Search for traces on the Explore page

Access the Explore page of Grafana and select the created Tempo data source. You can search for traces by using common dimensions such as application name, span name, status, time range, latency, and span attributes. Click on a trace ID to quickly diagnose errors and high-latency events in your system using the "Explore trace" view.

image.png

Customize charts in a dashboard

The following figure shows how to create an error trace list for an application in a dashboard. After you select the Tempo data source, expand the search bar to choose filter conditions, set Service Name to the application name, set Status to error, and then click Save. Alternatively, you can directly enter a TraceQL query to filter: {resource.service.name="mall-gateway" && status=error}.

image.png

Chart example:

image.png