Grafana Tempo による分散トレース

Grafana Tempo による分散トレース

[[389241]]

Grafana Tempo は、新しいオープンソースの大容量分散トレース バックエンドです。

Tempo for Grafana は、Grafana Labs が提供する、使いやすくスケーラブルな分散トレース バックエンドです。 Tempo は Grafana、Prometheus、Loki と統合されており、動作にはオブジェクト ストレージのみが必要なので、低コストで簡単に運用できます。

私はこのオープンソース プロジェクトに最初から関わってきたので、Tempo の基本について説明し、クラウド ネイティブ コミュニティが Tempo に注目している理由を説明します。

分散トレース

アプリケーションに対して行われたリクエストに関するテレメトリ データを収集したいというのはよくあることです。しかし、今日のサーバーでは、通常、単一のアプリケーションが複数のマイクロサービスに分割され、複数の異なるノードで実行される場合があります。

分散トレースは、個別のサービスで構成されている可能性のあるアプリケーションのパフォーマンスに関する詳細な情報を取得する方法です。リクエストがアプリケーションに到着すると、リクエストのライフサイクルの統合ビューが提供されます。 Tempo の分散トレースは、モノリシック アプリケーションまたはマイクロサービス アプリケーションに使用でき、リクエスト スコープの情報を提供するため、可観測性の 3 番目の柱となります (他の 2 つはメトリックとログです)。

以下は、アプリケーションのガント チャートを生成する分散トレース システムの例です。 Jaeger HotROD デモ アプリケーションを使用してトレースを生成し、Tempo でホストされている Grafana Cloud に保存します。このグラフは、サービスと機能別に分類されたリクエスト処理時間を示します。

Grafana Tempo のガント チャート

インデックスのサイズを小さくする

トレースには、豊富で明確に定義されたデータ モデルに豊富な情報が含まれています。通常、トレース バックエンドとのやり取りには、メタデータ セレクター (サービス名や期間など) を使用してトレースをフィルター処理することと、フィルター処理されたトレースを視覚化することの 2 種類があります。

検索を強化するために、ほとんどのオープンソースの分散トレース フレームワークでは、サービス名、操作名、タグ、期間など、トレース内の多くのフィールドにインデックスを付けます。その結果、インデックスが大きくなり、Elasticsearch や Cassandra などのデータベースを使用する必要が生じます。しかし、これらは管理が難しく、大規模に運用するにはコストがかかるため、Grafana Labs の私のチームは、より良いソリューションを考案することに着手しました。

Grafana では、オンコール デバッグ ワークフローは、メトリック レポートの使用 (アプリケーションのメトリックを保存するために、Prometheus を拡張する Cloud Native Foundation のインキュベート プロジェクトである Cortex を使用) から始まり、問題をドリルダウンし、問題のあるサービスのログを精査し (ログは、ログ用の Prometheus に似た Loki に保存します)、特定のリクエストのトレースを調べます。フィルタリングに必要なすべてのインデックス情報は Cortex と Loki で利用できることがわかりました。ただし、これらのツールを通じてトレースの検出を可能にするための強力な統合と、トレース ID によるキー値の検索を行うための優れたストアが必要でした。

こうしてGrafana Tempoプロジェクトが始まりました。取得したトレース ID に基づいてトレースすることに重点を置くことで、Tempo は依存性が最小限で、大容量、低コストの分散トレース バックエンドとなるように設計されました。

操作が簡単でコスト効率が良い

Tempo はオブジェクト ストレージ バックエンドを使用しますが、これが唯一の依存関係です。単一バイナリでもマイクロサービス モードでも使用できます (簡単に開始する方法については、リポジトリ内の例を参照してください)。オブジェクト ストレージを使用すると、サンプリングなしで大量のアプリケーション トレースを保存することもできます。これにより、100 万件のリクエストのうち 1 件でエラーが発生したり、遅延が長くなったりしたリクエストのトレースが破棄されることがなくなります。

オープンソースツールとの強力な統合

Grafana 7.3 には Tempo データ ソースが含まれており、Tempo からのトレースを Grafana UI で視覚化できます。さらに、Loki 2.0 の新しいクエリ機能により、Tempo での追跡がさらに簡単になります。 Prometheusとの統合のために、チームは以下のサポートを追加しています。模範一例として、時系列データに追加できる高カーディナリティのメタデータ情報が挙げられます。メトリック ストレージ バックエンドはメトリックをインデックス化しませんが、Grafana UI でメトリック値を取得して表示できます。この例ではさまざまなメタデータを保存できますが、このユースケースでは、Tempo との緊密な統合のためにトラッキング ID が保存されます。

この例では、リクエスト レイテンシ ヒストグラムを使用したサンプルの使用法を示します。各サンプル データ ポイントは Tempo のトレースにリンクされています。

Tempo での例の使用

メタデータの一貫性

コンテナ化されたアプリケーションとして実行されているアプリケーションによって発行されるテレメトリには、通常、何らかのメタデータが関連付けられています。これには、クラスター ID、名前空間、ポッド IP などが含まれます。これは、必要に応じて情報を提供するのに適していますが、メタデータに含まれる情報を生産的な目的に使用できるとさらに便利です。 たとえば、Grafana クラウド エージェントを使用してトレース情報を Tempo にインポートできます。エージェントは、Prometheus サービス検出メカニズムを使用して Kubernetes API からメタデータ情報をポーリングし、アプリケーションによって発行されたクロスドメイン データにこれらのタグを追加します。このメタデータも Loki でインデックス化されるため、メタデータを Loki ラベル セレクターに変換することで、トレースから特定のサービスのログの表示に簡単にジャンプできます。

以下は、Tempo トレースの特定の範囲のログを表示するために使用できる一貫したメタデータの例です。

クラウドネイティブ

Grafana Tempo はコンテナ化されたアプリケーションとして使用でき、Kubernetes や Mesos などのオーケストレーション エンジン上で実行できます。フェッチ/クエリ パスのワークロードに応じて、さまざまなサービスを水平方向にスケーリングできます。 Google Cloud Storage、Amazon S3、Tempo Azure Blog Storage などのクラウドネイティブ オブジェクト ストレージを使用することもできます。詳細については、Tempo ドキュメントのアーキテクチャ セクションを参照してください。

テンポを試す

これが私たちにとって役に立ったのと同様に、あなたにとっても役に立った場合は、ぜひ Tempo リポジトリをクローンして試してみてください。

<<:  2021 年のトップ 5 のエンタープライズ クラウド ストレージ ソリューション

>>:  Redis 分散ロックで発生するシリアル化の問題

推薦する

ロシアの VPS: ノボシビルスク VPS/無制限のトラフィック/Ping 約 140MS

2017 年に、私はロシアのホスティング会社である park-web を推奨しました。最近、ロシアの...

#ハロウィン# エクサバイト - ドメイン/ホスト/VPS/サーバー [シンガポール/マレーシア/インドネシア]

exabytes(1999年設立)は、ハロウィーンの盛大なイベントを開始しました。[1] .comド...

米国で中国人男性が著作権侵害で懲役12年の判決を受ける:関与企業は200社近く

北京ニュース(記者 趙家尼)外国メディアの報道によると、米国の裁判所は現地時間の火曜日、中国の李翔(...

Tencent Magicianがデータセンターに活気をもたらす

[51CTO.com からのオリジナル記事] ピノキオという名の小さな木製の人形が、命を得て本当の男...

Rancher がエッジ コンピューティング エコシステムをリードする Kubernetes オペレーティング システム、k3OS をリリース

業界トップのコンテナソフトウェアプロバイダーであるRancher Labs(以下、Rancher)は...

この記事ではDiffアルゴリズムの使い方を説明します

[[420540]] 1. 基本Diff アルゴリズムは、仮想 DOM の最小限の更新を実装します。...

ワールドカップ生中継権事件の裏側:視聴者は動画サイトへ移行

原題: 対立とチャンス: ワールドカップ「インターネット」イベント毎年のワールドカップは中国のインタ...

オンライン収入の業種と特徴を明らかにする

いわゆる怠惰なオンライン収入とは、インターネット ケーブルとコンピューターだけでお金を稼ぐことができ...

hostodo-アジアに最適化された VPS/KVM/$4.5/1g メモリ/30g ハードディスク/1.5T トラフィック

hostodo からの公式メールには、特別な低価格の VPS、KVM、クアドラネット コンピュータ ...

5G、エッジコンピューティング、IoTが従来の企業を近代化する方法

過去 2 年間、世界的なパンデミックとロックダウンによりデジタル化が促進され、数え切れないほどの従来...

含まれるアイテムの数が急激に減少した理由は何ですか?これらの8つの点に注意が必要です

月収10万元の起業の夢を実現するミニプログラム起業支援プランウェブサイトのインデックス数が急激に減少...

中国と米国のクラウド大手間の利益格差は拡大している。中国のクラウドコンピューティングはなぜ利益が出ないのか?

2月3日、アマゾンとグーグルの親会社アルファベットはそれぞれ2022年の年次業績報告書を発表した。マ...

アマゾン ウェブ サービスが量子コンピューティングのための量子ネットワーク センターを発表

最近、Amazon Web Services は、量子コンピューティングの基礎科学および工学上の課題...

ウェブサイトの重みとランキングに関する簡単な説明

ウェブサイトの重みとランキングに関する簡単な説明ウェブサイトの重みの定義: 検索エンジンはウェブサイ...