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

レッスン 33: LOKI — 集中ログ

一元化されたログ集約、Promtail/Alloy ログ収集、LogQL クエリ、構造化ログ、ログベースのアラート、および保持ポリシーのために Grafana Loki をデプロイします。

🔒 DevSecOps — レッスン 33 レッスン 33: LOKI — 集中ログ

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

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

xdev.asia_

🎯 レッスンの目的__HTMLTAG_66___
  • ✅ Grafana Loki アーキテクチャ (対 ELK スタック)
  • ✅ K8 に Loki 分散モードを展開
  • ✅ Promtail/Grafana 合金ログ収集
  • ✅ LogQL クエリ言語__HTMLTAG_75___
  • ✅ 構造化ログのベスト プラクティス
  • ✅ ログベースのアラート

パート 1: LOKI アーキテクチャ

コードブロック_0

機能LokiELK (Elasticsearch)
インデックス作成ラベルのみ (メタデータ)全文インデックス (すべてのコンテンツ)
ストレージ コスト低 (圧縮チャンク)高 (逆インデックス)
リソース使用量低高 (RAM、CPU)
クエリ速度フルテキストの場合は遅い_フルテキストの場合は速い_
_最適な用途K8s ログ、費用対効果の高い_複雑なログ分析_
クエリ言語LogQLKQL/Lucene
統合Grafana ネイティブKibana

パート 2: LOKI の展開

コードブロック_1

コードブロック_2


パート 3: プロムテールを使用したログ収集

コードブロック_3

コードブロック_4


パート 4: LOQL クエリ

コードブロック_5


パート 5: 構造化ログのベスト プラクティス

コードブロック_6

コードブロック_7


パート 6: ログベースのアラート

コードブロック_8


💡 重要なポイント

  1. Loki: インデックスラベルのみ → コスト効率が高く、Grafana ネイティブ
  2. Promtail: DaemonSet、K8 ポッド ログを自動収集
  3. LogQL: 強力なクエリ言語、ログからメトリクスへの変換
  4. 構造化ログ: JSON 形式、trace_id/span_id を含む
  5. _パイプラインステージ: 解析、ラベル、タイムスタンプ抽出
  6. 保持: テナントごとに 30 日間のデフォルトを構成

🎯 演習__HTMLTAG_202___

_演習 1: Loki のセットアップ

  • Loki + Promtail のデプロイ
  • _Grafana に Loki データソースを追加
  • LogQL クエリを作成してエラーを見つける__HTMLTAG_211___

_演習 2: 構造化ログ

  • サンプル アプリに JSON ログインを実装する
  • レベル、trace_id
  • を抽出するように Promtail パイプラインを構成する
  • ログベースのアラート ルールを作成

📚 次の投稿

__HTMLTAG_227___レッスン 34: テンポ — 分散トレーシング では、マイクロサービスの分散トレーシングをセットアップします。