Chuyển đến nội dung chính

レッスン 34: テンポ — 分散トレース

分散トレース、OpenTelemetry インストルメンテーション、ログ/メトリクスとのトレース相関関係、戦略、およびトレース対応モニタリングのために Grafana Tempo を導入します。

🔒 DevSecOps — レッスン 34 レッスン 34: テンポ — 分散トレース

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 8: 可観測性 — プロメテウス、ロキ、テンポ

xdev.asia_

🎯 レッスンの目的__HTMLTAG_66___
  • ✅ 分散トレースの概念 (スパン、トレース、コンテキストの伝播)
  • ✅ K8s に Grafana Tempo をデプロイ
  • ✅ OpenTelemetry コレクターおよびインストルメンテーション SDK__HTMLTAG_73___
  • ✅ トレース → ログ → メトリック相関
  • ✅ サンプリング戦略 (ヘッド、テール、アダプティブ)
  • ✅ TraceQL クエリ__HTMLTAG_79___

パート 1: 分散トレースの概念

コードブロック_0

特徴テンポ_イェーガーZipkin_
ストレージ バックエンドオブジェクト ストレージ (S3/GCS)Elasticsearch/CassandraElasticsearch/MySQL
コスト_非常に低い高(すべてにインデックスを付ける)中
検索TraceQL (強力)タグベース_タグベース
統合GrafanaネイティブスタンドアロンUIスタンドアロンUI
トレース検出メトリック → トレース_手動検索_手動検索
プロトコル_OTLP、Jaeger、Zipkin_Jaeger、OTLP_Zipkin、OTLP

パート 2: GRAFANA TEMPO の展開

コードブロック_1

コードブロック_2


パート 3: OPENTELEMETRY COLLECTOR

コードブロック_3


パート 4: アプリケーション手順__HTMLTAG_170___

コードブロック_4

コードブロック_5


パート 5: TRACEQL クエリ

コードブロック_6


パート 6: トレース-ログ-メトリクス相関

コードブロック_7

コードブロック_8


💡 重要なポイント

  1. テンポ: オブジェクト ストレージ上のトレース ストレージ → コスト効率が高い
  2. OpenTelemetry: ベンダー中立の計測標準
  3. _OTel コレクター: 中央パイプライン、テール サンプリング
  4. TraceQL: 属性、期間、ステータスによるトレースのクエリ
  5. 相関__HTMLTAG_199___: トレース ↔ ログ ↔ メトリクス = 迅速な根本原因
  6. サンプリング: 常にエラーを維持 + 低速、サンプルは通常

🎯 演習

演習 1: テンポ + OTel の設定

  • Tempo + OTel Collector のデプロイ
  • インストゥルメント サンプル Go/Node.js アプリ
  • Grafana でトレースを表示__HTMLTAG_217___

演習 2: 相関関係のトレース__HTMLTAG_220___
  • Grafana でトレースからログへのリンクを構成する__HTMLTAG_223___
  • エラーを挿入し、トレース→ログフローを通じて根本原因を特定
  • 低速/エラー トレース用の TraceQL クエリを作成

📚 次の投稿

__HTMLTAG_233___レッスン 35: Grafana ダッシュボードと SLO では、統合ダッシュボードを構築し、SLO/SLI モニタリングを実装します。