Skip to content
Latchkey

Jaeger vs Grafana Tempo: どちらのトレーシングバックエンド?

Jaeger は豊富なトレースのインデックスとクエリを提供します。Grafana Tempo はトレースを object storage に安価に保存し、trace ID と logs/メトリクスの相関に依存します。

Jaeger はサービス、オペレーション、タグでの柔軟な検索のために span をインデックスし、検索可能なバックエンドを必要とします。Tempo は意図的に重いインデックスを省き、トレースを object storage に保存して trace ID で見つけ、その後 Grafana に頼って logs とメトリクスから相関させます。Jaeger は単体でのトレース検索で勝り、Tempo はコストと Grafana のメトリクス-logs-トレースのワークフローで勝ります。

JaegerTempo
インデックス豊富な span インデックス最小限 (trace ID)
ストレージコスト高め低い (object store)
検索タグ/サービス別ID + 相関
エコシステムへの適合単体 UIGrafana ネイティブ
最適な用途アドホックなトレース検索Grafana 上の安価なトレース

ユースケースとコスト

Jaeger は、Grafana 中心のフローなしで属性によってトレースを直接検索する必要があるチームに適しています。Tempo は、すでに Grafana を使っていて安価でスケーラブルなトレースストレージが欲しく、メトリクスと logs からの exemplar 経由でトレースに到達したいチームに適しています。

運用と CI への適合

Tempo は object store のみのストレージのおかげで運用がよりシンプルです。Jaeger は Elasticsearch や Cassandra のような検索バックエンドを必要とします。どちらもコンテナ化され CI で統合テストされ、より高速なランナーが build とトレースパイプラインのテストを短縮します。

結論

単体で豊富なトレース検索が欲しいなら Jaeger。Grafana のメトリクス-logs-トレーススタックに組み込まれた安価な object store のトレースが欲しいなら Tempo。トレースを直接クエリするか、Grafana から相関させるかで選びましょう。

関連ガイド