🎯 レッスンの目的__HTMLTAG_66___
- ✅ 分散トレースの概念 (スパン、トレース、コンテキストの伝播)
- ✅ K8s に Grafana Tempo をデプロイ
- ✅ OpenTelemetry コレクターおよびインストルメンテーション SDK__HTMLTAG_73___
- ✅ トレース → ログ → メトリック相関
- ✅ サンプリング戦略 (ヘッド、テール、アダプティブ)
- ✅ TraceQL クエリ__HTMLTAG_79___
パート 1: 分散トレースの概念
コードブロック_0
| 特徴 | テンポ | _イェーガー | Zipkin_ |
|---|---|---|---|
| ストレージ バックエンド | オブジェクト ストレージ (S3/GCS) | Elasticsearch/Cassandra | Elasticsearch/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
💡 重要なポイント
- テンポ: オブジェクト ストレージ上のトレース ストレージ → コスト効率が高い
- OpenTelemetry: ベンダー中立の計測標準
- _OTel コレクター: 中央パイプライン、テール サンプリング
- TraceQL: 属性、期間、ステータスによるトレースのクエリ
- 相関__HTMLTAG_199___: トレース ↔ ログ ↔ メトリクス = 迅速な根本原因
- サンプリング: 常にエラーを維持 + 低速、サンプルは通常
🎯 演習
演習 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 モニタリングを実装します。