Zipkinは、サービスアーキテクチャ全体のレイテンシー調査に役立つ、時間データを収集・検索する分散トレーシングシステムです。
jaegertracing/jaeger
Jaegerは、マイクロサービス間のリクエストを監視・トラブルシューティングするための、CNCF卒業済み分散トレーシングプラットフォームです。
代替できる製品:Datadog APM
- スター
- 23,382
- フォーク
- 3,226
- 未解決の Issue
- 564
- 最終コミット
- 19 時間前
これは何?
Jaegerは、リクエストが複数のサービスをどのようにたどるかを記録する分散トレーシングシステムです。これにより、開発者は処理に時間がかかっている箇所や、障害が発生している箇所を確認できます。OpenTelemetry SDKで計装したアプリケーションから、OTLPを使ってgRPC(ポート4317)またはHTTP(ポート4318)経由でトレースデータを受け取り、検索やトレースの閲覧ができるWeb UIを提供します。
このプラットフォームは、collector、query service、UI、プラグイン可能なストレージレイヤーで構成されています。all-in-one Dockerイメージには、手早くローカルでテストできるよう、インメモリストレージとともにこれらのコンポーネントが含まれています。本番環境ではストレージバックエンドを利用できます。READMEでは、サポート対象のバックエンドとしてElasticsearch、OpenSearch、Cassandra、ClickHouseが挙げられており、それぞれにバージョンサポートポリシーがあります。
JaegerはUberで開発され、Cloud Native Computing Foundationに寄贈された後、2019年にCNCFプロジェクトとして卒業しました。v2リリースは、OpenTelemetry Collectorのコンポーネントを基盤としています。
主な機能
- 01OTLPを使い、gRPCまたはHTTP経由でOpenTelemetry SDKからトレースを受け取ります。
- 02分散トレースの検索・調査に使えるWeb UIを提供します。
- 03Elasticsearch、OpenSearch、Cassandra、ClickHouseをバックエンドとして利用できる、プラグイン可能なストレージレイヤーを備えています。
- 04手早くローカルでテストできるよう、all-in-oneのDockerコンテナとして実行できます。
- 05OpenTelemetry Collectorのコンポーネントを基盤とし、設定の互換性を実現します。
ユースケース
- マイクロサービスの処理経路で、どのサービスがリクエストを遅延させているかを特定する。
- 開発環境または本番環境で、複数のサービスにまたがるエラーをデバッグする。
- OpenTelemetryで計装されたシステムに、セルフホスト型のトレーシングバックエンドを追加する。
クイックスタート
- 1
DockerでJaeger all-in-oneを起動する
docker run --rm --name jaeger -p 16686:16686 -p 4317:4317 -p 4318:4318 jaegertracing/jaeger:latest - 2
ブラウザーで http://localhost:16686 にアクセスしてUIを開く
使う前に知っておきたいこと
- all-in-oneのクイックスタートで使われるインメモリストレージは本番環境には適していません。本番環境のセットアップについては、Getting Started Guideを参照してください。
- 本番環境へのデプロイには、外部ストレージバックエンドと、より多くのセットアップ作業が必要です。
収録されている特集
トピック
よくある質問
- jaeger とは?
- Jaegerは、マイクロサービス間のリクエストを監視・トラブルシューティングするための、CNCF卒業済み分散トレーシングプラットフォームです。 Jaegerは、リクエストが複数のサービスをどのようにたどるかを記録する分散トレーシングシステムです。これにより、開発者は処理に時間がかかっている箇所や、障害が発生している箇所を確認できます。OpenTelemetry SDKで計装したアプリケーションから、OTLPを使ってgRPC(ポート4317)またはHTTP(ポート4318)経由でトレースデータを受け取り、検索やトレースの閲覧ができるWeb UIを提供します。
- jaeger は無料で使えますか?ライセンスは?
- jaeger は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- jaeger は今もメンテナンスされていますか?
- 活発にメンテナンス中。jaeger の最終コミットは 2026年11月6日 です。
- jaeger は何に使えますか?
- マイクロサービスの処理経路で、どのサービスがリクエストを遅延させているかを特定する。 開発環境または本番環境で、複数のサービスにまたがるエラーをデバッグする。 OpenTelemetryで計装されたシステムに、セルフホスト型のトレーシングバックエンドを追加する。
- jaeger のインストール方法は?
- DockerでJaeger all-in-oneを起動する: docker run --rm --name jaeger -p 16686:16686 -p 4317:4317 -p 4318:4318 jaegertracing/jaeger:latest ブラウザーで http://localhost:16686 にアクセスしてUIを開く
- jaeger はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/jaegertracing/jaeger
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Goアプリケーションにトレース、メトリクス、ログを導入するためのAPIとSDKを提供する、OpenTelemetryのGo実装。
インデックスをS3などのクラウドオブジェクトストレージに保存する、ログとトレース向けのオープンソース検索エンジン。
分散型・クラウドネイティブなマイクロサービスアーキテクチャの監視、トレース、診断を行うAPMシステム。
ログ、メトリクス、トレース、アラート、ダッシュボードを一元管理できる、OpenTelemetryネイティブのオープンソース可観測性プラットフォーム。
Rust製のセルフホスト可能なオブザーバビリティプラットフォーム。ログ、メトリクス、トレース、RUM、LLM監視に対応し、DatadogやSplunkの代替として位置付けられています。