クラウド
上級

Grafana Tempo (分散トレーシング・2020)(グラファナテンポ)

Grafana Labs 2020年公開の分散トレーシングシステム。「Loki for Traces」設計・Object Storage 圧縮・OTel / Jaeger / Zipkin Receiver、PLG/PLT Stack のTrace 担当。

0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
分散トレーシング
Tempo
Grafana

概要

Grafana Tempo はGrafana Labs (Annanay Agarwal 等) が2020年10月にObservabilityCON で発表・公開した分散トレーシングシステム。「Loki for Traces」設計、OpenTelemetry / Jaeger / Zipkin Receiver 全対応・Object Storage (S3 / GCS / Azure Blob) 圧縮 (Cassandra / Elasticsearch 不要)・TraceQL クエリ言語・大幅Cost削減を実現、Loki / Mimir と並ぶPLT (Prometheus + Loki + Tempo) スタックの3 Pillars。Grafana Cloud Free Tier $0 / 50GB Traces・OSS自家ホスト両対応で、Datadog APM / Honeycomb 代替の Open Source 選択肢。

Tempo 主要マイルストーン

年月出来事
2020-10Grafana ObservabilityCON 発表
2021-04Tempo 1.0 GA
2021-12Tempo 1.4 (TraceQL)
2022Tempo 2.0
2023-04TraceQL 2.0 (集計)
2024-01Tempo 2.4 (Service Graph 改善)
2024-08Tempo 2.5 (TraceQL Metrics Generator)

Tempo 主要技術

項目内容
構造Trace ID + Span Storage
インデックス最小限 (TraceID Lookup)
ストレージObject Storage (S3 / GCS / MinIO)
クエリTraceQL
ReceiverOTel / Jaeger / Zipkin / B3
Multi-tenantあり
Cost1/10-1/100 (Cassandra/ES 比)
Grafana 統合◎

Loki / Mimir / Tempo 統合

Grafana Labs 「LGTM Stack」(Loki / Grafana / Tempo / Mimir):

Pillar製品クエリ
MetricsMimirPromQL
LogsLokiLogQL
TracesTempoTraceQL
可視化Grafana-

3つの共通アーキテクチャ (Object Storage ベース) でCost効率最大化。

TraceQL クエリ言語

Trace 検索DSL:

# 1. Service名でフィルタ
{ resource.service.name = "api" }

# 2. エラーTrace のみ
{ status = error }

# 3. レイテンシ > 1秒
{ duration > 1s }

# 4. 複雑条件
{ resource.service.name = "api" &&
  span.http.status_code = 500 &&
  duration > 500ms }

# 5. Service Graph
{ resource.service.name = "frontend" }
  >> { resource.service.name = "backend" }

PromQL / LogQL と似た構文・Span Tag / Resource Attribute で検索。

Service Graph (Service 依存図)

Tempo 自動生成のService 依存可視化:

[Frontend (95ms)]
   ↓
[API Gateway (12ms)]
   ↓
├── [Auth Service (5ms)]
├── [User Service (15ms) → PostgreSQL]
└── [Order Service (20ms) → Payment Service → External API]

Trace データから自動構築・Service 通信頻度・Latency・Error率を1画面で確認。

Auto-Instrumentation

OpenTelemetry SDK / Auto-instrumentation 経由でTempo へ送信:

# OpenTelemetry Collector 設定
exporters:
  otlp/tempo:
    endpoint: tempo:4317
    tls:
      insecure: true

service:
  pipelines:
    traces:
      receivers: [otlp, jaeger, zipkin]
      processors: [batch]
      exporters: [otlp/tempo]

既存Jaeger / Zipkin デプロイから移行容易。

Tempo vs Jaeger

項目TempoJaeger
ストレージObject StorageCassandra / ES
Cost1/10-1/100高
TraceID 検索◎◎
Tag検索◎ (TraceQL)△ (ES 必要)
Grafana 統合◎◎
Multi-tenant◎◎
Service Map◎◎

近年Tempo が新規採用増加・既存Jaeger は移行検討多。

TraceQL Metrics Generator (2024)

Tempo 2.5+ で Trace → Metrics 自動生成:

  • Service-level Metrics (Latency / Error Rate / Throughput)
  • Span Metrics from Trace data
  • Prometheus 互換出力
  • Grafana 統合Dashboard 自動生成

Trace を Metrics として活用、APM Vendor (Datadog 等) に近い体験。

主要採用先

企業用途
Grafana Cloud (Free / Pro / Enterprise)数万社
Reddit分散トレース
Grafana Labs 内部Dogfooding
多Kubernetes Native 企業OSS採用

Grafana Cloud Tempo

プラン価格
Free50GB Traces / 月
Pro$0.50 / GB
Enterprise法人

無料Tier 大きく・小規模スタートアップに最適。

関連用語との違い

  • vs Jaeger: Object Storage / Cassandra
  • vs Datadog APM: OSS / 商用
  • vs Honeycomb: Object Storage / 専用 / 高度UI

FAQ

Q1: Jaeger から移行? A: 段階的移行可能。OTel Collector で「Jaeger Receiver → Tempo Exporter」設定で既存Jaeger Agent / Client 継続使用しつつTempo へ送信。

Q2: 全Service 計装必要? A: 任意Service だけでも有用。完全網羅で初めてEnd-to-End Trace 完成・段階導入が現実的。

Q3: Datadog APM と比較? A: 価格1/10-1/100・機能Datadog 優位 (AI / 自動異常検知 / Service Catalog)。Cost優先ならTempo・高機能ならDatadog。

この記事について
カテゴリークラウド
難易度上級
作成日2026/5/15