Kubernetes Learning 第28章:Fluentd / Loki などのロギングスタック 〜Kubernetesログの集約と可視化〜

Kubernetesでは、アプリケーションやシステムのログが複数のPodやNodeに分散して出力されるため、次のような課題が出てきます。

  • Podが再起動するとログが消える
  • 複数Podにまたがるエラーを時系列で追いにくい
  • kubectl logs だけではリアルタイム集約が難しい

こうした問題を解決するために登場するのが、ログ収集・集約・可視化のためのロギングスタックです。


✅ ロギングスタックとは?

ロギングスタックは、Kubernetesクラスター内外のログを一元的に「収集→転送→保存→検索」できるようにする仕組みです。

代表的な構成:

[アプリケーションログ]
      ↓
[ログ収集] Fluentd / Fluent Bit
      ↓
[ログ保存] Elasticsearch / Loki
      ↓
[可視化] Kibana / Grafana

このように、役割ごとにツールを組み合わせて構築します。


🧩 主な構成例とツール

● Fluentd(または Fluent Bit):ログの収集・転送

Fluentd は、Kubernetesでよく使われるログ収集エージェントです。DaemonSetとして各Nodeに配置し、次のようなログを収集します:

  • /var/log/containers/*.log → 各コンテナの標準出力ログ
  • Kubernetesのメタデータ(Pod名やNamespaceなど)も付与可能

Fluent BitはFluentdの軽量版で、より高速・省メモリです。


● Loki:軽量なログ保存・検索エンジン(Grafana製)

Elasticsearchの代替として最近人気なのが Loki です。以下の特徴があります:

  • ログに特化した時系列データベース
  • メトリクスのようなクエリが可能(Prometheusと連携しやすい)
  • Grafanaで直接クエリ・可視化できる
  • 軽量で構成がシンプル(Elasticsearchより導入が簡単)

Lokiは「ログを構造化しない」点が特徴で、メタデータ(label)で絞り込みます。


● Kibana / Grafana:可視化ツール

  • Kibana:Elasticsearchのログを検索・グラフ表示するUI
  • Grafana:Lokiと連携して、ログを時系列でフィルタ・表示可能

Grafanaでは、メトリクスとログを同じダッシュボードで可視化することもできます。


🚀 具体的な構成例(Loki + Fluent Bit + Grafana)

aaa

このように、ログは各NodeのFluent Bitが集めてLokiに送り、Grafanaで確認します。


🔧 Helmを使った Loki Stack の導入例

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install loki-stack grafana/loki-stack

このコマンドで以下がセットアップされます:

  • Fluent Bit(もしくはPromtail)
  • Loki(ログストレージ)
  • Grafana(可視化ツール)

🔍 Grafana でのログ検索例

{job="kubernetes", namespace="default", pod="my-app"} |= "ERROR"
  • |= "ERROR" は「文字列ERRORを含むログ」
  • namespace, pod などのラベルでフィルタできます

📝 まとめ

ツール名役割
Fluentd / Fluent Bitログ収集(Node上でログを拾う)
Lokiログ保存とクエリ(Prometheusライク)
Elasticsearchより高度な全文検索・集計(やや重い)
Grafana / Kibanaログの可視化・ダッシュボード化

Kubernetesの運用において、ログはトラブルシューティングや監査に不可欠です。まずは軽量な Loki + Fluent Bit + Grafana から始めて、必要に応じてスケールさせていくのがおすすめです。

mh

Related Posts

Kubernetes Learning 第29章:RBACの基礎とロール設計 〜「誰が、何を、どこで」できるのかを制御する〜

Kubernetes Learning 第27章:Prometheus + Grafana の導入例 〜Kubernetesクラスタを見える化しよう〜

You Missed

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第3章:IAM(Identity and Access Management):GCPの「誰が」「何に」「何ができるか」を管理する門番

  • 投稿者 mh
  • 6月 2, 2025
  • 1 views

現場で使えるChrome DevTools実践ガイド 第9章:Applicationパネルとストレージの確認

  • 投稿者 mh
  • 6月 2, 2025
  • 2 views

Kubernetes Learning 第29章:RBACの基礎とロール設計 〜「誰が、何を、どこで」できるのかを制御する〜

  • 投稿者 mh
  • 6月 2, 2025
  • 4 views

Android application development 第33章:実践ミニアプリ:天気情報アプリ

  • 投稿者 mh
  • 6月 2, 2025
  • 4 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第2章:リージョンとゾーン、グローバルリソース:GCPの「物理的な場所」の考え方

  • 投稿者 mh
  • 6月 1, 2025
  • 8 views

現場で使えるChrome DevTools実践ガイド 第8章:NetworkパネルでのHTTP通信確認

  • 投稿者 mh
  • 6月 1, 2025
  • 12 views