Jaegerとは?
じぇーがー
Jaegerとは、マイクロサービスアーキテクチャにおけるリクエストの追跡(分散トレーシング)を可能にするオープンソースの可観測性プラットフォームです。
Jaeger(発音:ヤーガー)は、Uberが開発しオープンソースとして公開した分散トレーシングシステムです。現在はCloud Native Computing Foundation(CNCF)の卒業プロジェクトとして管理されており、Kubernetesや各種クラウドネイティブ環境での利用が活発です。
マイクロサービスアーキテクチャでは、一つのユーザーリクエストが複数のサービスをまたいで処理されます。どこで遅延や障害が発生しているか把握するには、サービス間を貫通して流れるリクエストの「旅路」を可視化する必要があります。これを「分散トレーシング」と呼び、Jaegerはその収集・保存・可視化を担います。
Jaegerの主要コンポーネントは以下です。
- Agent:各サービスのそばに常駐し、トレースデータを受け取るデーモン
- Collector:Agentからデータを受信してストレージに書き込む
- Query:保存されたトレースを検索・取得するAPIサーバー
- UI:ガントチャート形式でリクエストの流れを視覚化するウェブ画面
OpenTelemetryとの統合も進んでおり、計装コードをほぼ変えずにJaegerへデータを送れる環境が整っています。レイテンシの分析・ボトルネックの特定・障害原因の追跡(根本原因分析)において中心的なツールとなっています。
使い方・例文
本番環境のAPIレスポンスが突然遅くなった際、JaegerのUIでトレースを検索すると、どのマイクロサービスのどの処理で時間がかかっているかを一目で把握できます。
この用語をシェア
最終更新: