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

レッスン 30: LOKI、テンポ、分散トレース

LogQL クエリを使用した Loki ログの集約。 Grafana Alloy はコンテナからログを収集します。テンポ分散トレーシング。 OpenTelemetry 自動計測。相関可観測性: Grafana でログ、メトリクス、トレースをまとめて確認します。

🔒 DevSecOps — レッスン 30 レッスン 30: LOKI、テンポ、分散トレース

KUBERNETES: 基本から高度まで

モジュール 7: 可観測性と可観測性モニタリング

xdev.asia_

🎯 レッスンの目的

Elasticsearch より軽量なログ集約システムとしての Loki、Grafana Alloy がログを収集する方法、分散トレースのテンポ、OpenTelemetry 自動計測、Grafana でログ + メトリクス + トレースを組み合わせる方法を理解します。

1. Loki — ログ集約

1.1 Loki 対 Elasticsearch

  • Loki: ラベルベースのインデックス作成 (ログコンテンツのインデックスではなく、ラベルのみのインデックス作成) → 軽量で安価、Kubernetes ログに適しています_
  • Elasticsearch: 全文インデックス付き → 大量のメモリ/CPU を消費します。全文検索__HTMLTAG_81___ が必要な場合に適しています。

Kubernetes ログ (構造化、ラベル付け) の場合、2026 年には Loki がより良い選択となります。

1.2 Loki アーキテクチャ

  • ディストリビュータ: エージェントからログを受信し、検証してファンアウト
  • Ingester: ログをメモリにバッファし、オブジェクト ストレージにフラッシュ
  • Querier: クエリを実行し、インジェスターとストレージからの結果をマージ
  • Compactor: コンパクトなチャンク、保持管理

1.3 LogQL — クエリ言語

___コードブロック_0___

2. Grafana 合金 — 統合コレクター

Grafana Alloy は、Promtail、OTel Collector、Prometheus エージェント モードのすべての個別エージェントを置き換えます。

___コードブロック_1___

3.テンポ — 分散トレーシング

Tempo は Grafana の分散トレース バックエンドであり、Loki および Prometheus と適切に統合されています。

3.1 概念

  • トレース: リクエストのエンドツーエンドのプロセス (ブラウザからデータベースなど)
  • Span: トレース内の操作 (例: HTTP ハンドラー、DB クエリ)
  • TraceID: トレースのすべてのスパンをリンクする一意の ID
  • SpanID: 個々のスパンの ID

3.2 テンポ設定__HTMLTAG_136___ ___コードブロック_2___

4. OpenTelemetry 自動計測

OpenTelemetry Operator は、コードを変更せずにアプリケーションを自動的にインストルメントします。

4.1 Otel Operator のインストール

___コードブロック_3___

4.2 インストルメンテーション CRD

___コードブロック_4___

4.3 ポッドに自動インストゥルメントへのアノテーションを付ける

___コードブロック_5___

5. Grafana の相関可観測性

_本当の威力は、Grafana 内でアラート→メトリクス→ログ→トレースに進むことができるときです。

5.1 Loki の派生フィールド

___コードブロック_6___

5.2 イグザンプラ — メトリクスからトレースへのリンク

___コードブロック_7___

5.3 Grafana Explore — 相関ビュー

___コードブロック_8___

6. Loki と EFK スタック — いつ何を使用するか?

  • Loki の使用: Kubernetes ログ、構造化ログ (JSON)、全文検索は不要、低コストが必要
  • Elasticsearch (EFK) の使用: ログ コンテンツによる全文検索が必要、コンプライアンス ログには長期保存が必要、すでに最新の ELK インフラストラクチャが存在__HTMLTAG_167___

概要

  • Loki: ラベルベース、軽量、Kubernetes ログに適しています — LogQL クエリ言語
  • _Grafana Alloy: 統合コレクター (メトリクス + ログ + トレース)
  • Tempo: 分散トレーシング、Grafana エコシステムと適切に統合
  • _OTel オペレーター: コード変更なしの自動インストルメンテーション
  • 相関可観測性: Grafana のアラート → メトリック → ログ → トレースから