すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:ARMS と Grafana Tempo の互換性

最終更新日:Jun 19, 2025

このトピックでは、Application Real-Time Monitoring Service (ARMS) と Grafana Tempo の互換性について、互換性の原則、サポートされている Tempo HTTP API エンドポイント、および TraceQL を含めて概要を説明します。

互換性

Grafana Tempo は、OpenTelemetry、Jaeger、Zipkin などのプロトコルからのトレースデータを Object Storage Service (OSS) に保存するオープンソースの分散トレースバックエンドです。大規模な分散トレースデータに対して高性能なクエリサービスを提供します。

ARMS の Grafana Tempo 互換 HTTP API は、TraceQL クエリ構文を Simple Log Service のインデックスベースのクエリ構文と SQL 分析構文にマッピングします。その後、Simple Log Service は、Grafana Tempo の要件を満たす形式でクエリと分析結果を返します。

Tempo 互換 API エンドポイント

Tempo 互換 API のエンドポイントは https://${sls-endpoint}/trace/tempo/ 形式です。ここで、${sls-endpoint} は、トレースデータが配置されているリージョンの Simple Log Service エンドポイントを指定します。例: https://cn-hangzhou.log.aliyuncs.com/trace/tempo

サポートされているリージョン:

リージョン

リージョン ID

杭州

cn-hangzhou

北京

cn-beijing

ウランチャブ

cn-wulanchabu

河源

cn-heyuan

シンガポール

ap-southeast-1

対応するエンドポイントについては、「エンドポイント」をご参照ください。

サポートされている Tempo 互換 API

次の表に、GET リクエストの API パスを示します。

API パス

説明

/api/traces/<traceID>

トレースの詳細をクエリします。

/api/v2/traces/<traceID>

トレースの詳細をクエリします (Tempo API V2)。

/api/search

検索条件でトレースを一覧表示します。

/api/search/tags

使用可能なタグキーを取得します。

/api/v2/search/tags

使用可能なタグキーを取得します (Tempo API V2)。

/api/search/tag/{tags}/values

タグ値をクエリします。

/api/v2/search/tag/{tags}/values

タグ値をクエリします (Tempo API V2)。

/ready

サービスの可用性を確認します。

/api/echo

Tempo データソースの接続性を検証します。

サポートされている TraceQL 構文

キーワード

カテゴリ

フィールド

説明

Span

status

ステータス。有効な値:

  • unset

  • ok

  • error

status=ok

statusMessage

ステータスの説明。

statusMessage="404 NOT FOUND"

duration

スパンの期間。単位を指定できます。指定しない場合、デフォルトの unit ns が使用されます。例:

  • 500

  • 10 ns

  • 500 ms

  • 12.88 s

  • 10.5 min

  • 1 h

duration > 500 ms

name

スパン名。ARMS の spanName に対応します。

name="/components/api/v1/mall/product"

kind

スパンタイプ。有効な値:

  • unspecified

  • internal

  • server

  • client

  • producer

  • consumer

kind=server

spanId

スパン識別子。

spanId=fe81595a906fe2a4

Trace

traceDuration

トレースの合計期間。

traceDuration > 100 ms

traceId

トレース識別子。

traceId="ea1a0100f617397599186332534d0001"

属性

span. で始まるフィールド。例:

  • span.http.path

  • span.db.statement

スパン属性。ARMS の attributes に対応します。

span.http.path="/api/search"

リソース

resource. で始まるフィールド。例:

  • resource.service.name

  • resource.namespace

  • resource.agentVersion

リソース属性。ARMS の resources に対応します。

resource.namespace="arms"

スコープ外属性

. で始まるフィールド。例:

  • .http.path

  • .db.statement

スコープ外属性。ARMS の attributes または resources に対応します。

.db.statement="select * from log"

演算子

カテゴリ

演算子

説明

Span セレクタ

{expression}

式は {} で囲む必要があります。

{status=ok}

比較演算子

=

等しい

{name="/components/api/v1/mall/product"}

!=

等しくない

{resource.service.name!="mall-gateway"}

=~

正規表現一致

{resource.service.name=~"mall-gateway|mall-client"}

!~

正規表現不一致

{service!~"mall-gateway|mall-client"}

>

より大きい

{duration>500 ms}

>=

以上

{duration>=500 ms}

<

未満

{duration<1s}

<=

以下

{duration<=1s}

論理演算子

{condA && condB}

AND

{ span.http.status_code >= 200 && span.http.status_code < 300 }

{condA || condB}

OR

{name="/components/api/v1/mall/product" || resource.service.name="mall-gateway"}

RAM ユーザーに権限を付与する

次のいずれかの方法を使用して、RAM ユーザーに Tempo 互換 API を介してデータをクエリおよび書き込む権限を付与します。

  • シンプルモード: 簡単な設定

  • カスタムモード: きめ細かいアクセス制御が可能ですが、設定が複雑です

シンプルモード

システムポリシーを使用して、パラメータ設定を必要とせずにRAM ユーザーに必要な権限を付与します

システムポリシーは次のとおりです。

システムポリシー

クエリ権限

書き込み権限

AliyunLogFullAccess

はい

はい

AliyunLogReadOnlyAccess

はい

いいえ

カスタムモード

カスタムポリシーを作成して、RAM ユーザーに Tempo 互換 API を介してデータをクエリまたは書き込む権限を付与します。

次のスクリプトは、ポリシーの例を示しています。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "log:GetIndex",
                "log:GetLogStoreContextLogs", //ログストアコンテキストログの取得
                "log:ListLogStores", //ログストアの一覧表示
                "log:GetLogStoreHistogram", //ログストアヒストグラムの取得
                "log:GetLogstoreLogs", //ログストアログの取得
                "log:GetLogStoreContextLogs", //ログストアコンテキストログの取得
                "log:GetCursorOrData", //カーソルまたはデータの取得
                "log:GetLogstore" //ログストアの取得
            ],
            "Resource": "acs:log:*:*:project/*"
        }
    ]
}