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
Log on to the Grafana console.
In the left-side navigation pane, choose
.On the Add new connection page, find and click Tempo.
On the Tempo page, click Add new data source.
On the Settings tab, complete the configurations in the Connection and HTTP headers sections, and then click Save & test to test the connectivity.
If Successfully connected to Tempo data source is displayed, the configurations are correct. If an error occurs, refer to Troubleshoot common issues.
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 |
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.
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}
.
Chart example: