🎯 レッスンの目的__HTMLTAG_66___
- ✅ Grafana Loki アーキテクチャ (対 ELK スタック)
- ✅ K8 に Loki 分散モードを展開
- ✅ Promtail/Grafana 合金ログ収集
- ✅ LogQL クエリ言語__HTMLTAG_75___
- ✅ 構造化ログのベスト プラクティス
- ✅ ログベースのアラート
パート 1: LOKI アーキテクチャ
コードブロック_0
| 機能 | Loki | ELK (Elasticsearch) |
|---|---|---|
| インデックス作成 | ラベルのみ (メタデータ) | 全文インデックス (すべてのコンテンツ) |
| ストレージ コスト | 低 (圧縮チャンク) | 高 (逆インデックス) |
| リソース使用量 | 低 | 高 (RAM、CPU) |
| クエリ速度 | フルテキストの場合は遅い_ | フルテキストの場合は速い_ |
| _最適な用途 | K8s ログ、費用対効果の高い | _複雑なログ分析_ |
| クエリ言語 | LogQL | KQL/Lucene |
| 統合 | Grafana ネイティブ | Kibana |
パート 2: LOKI の展開
コードブロック_1
コードブロック_2
パート 3: プロムテールを使用したログ収集
コードブロック_3
コードブロック_4
パート 4: LOQL クエリ
コードブロック_5
パート 5: 構造化ログのベスト プラクティス
コードブロック_6
コードブロック_7
パート 6: ログベースのアラート
コードブロック_8
💡 重要なポイント
- Loki: インデックスラベルのみ → コスト効率が高く、Grafana ネイティブ
- Promtail: DaemonSet、K8 ポッド ログを自動収集
- LogQL: 強力なクエリ言語、ログからメトリクスへの変換
- 構造化ログ: JSON 形式、trace_id/span_id を含む
- _パイプラインステージ: 解析、ラベル、タイムスタンプ抽出
- 保持: テナントごとに 30 日間のデフォルトを構成
🎯 演習__HTMLTAG_202___
_演習 1: Loki のセットアップ
- Loki + Promtail のデプロイ
- _Grafana に Loki データソースを追加
- LogQL クエリを作成してエラーを見つける__HTMLTAG_211___
_演習 2: 構造化ログ
- サンプル アプリに JSON ログインを実装する
- レベル、trace_id を抽出するように Promtail パイプラインを構成する
- ログベースのアラート ルールを作成
📚 次の投稿
__HTMLTAG_227___レッスン 34: テンポ — 分散トレーシング では、マイクロサービスの分散トレーシングをセットアップします。