ログとメトリクスで、変わり続けるクラスタを観測する
PodやNodeが増減するKubernetesでは、観測対象も固定ではありません。ログは出来事、メトリクスは数値の傾向として扱い、収集と可視化の経路を分けて考えます。
TL;DR
- Fluent Bitは各Nodeのログを集め、転送・加工する役割を担う。
- PrometheusはKubernetesの変化を発見して時系列メトリクスを収集する。
- Grafanaはメトリクスを人が判断できるダッシュボードへ変える。
01ログは出来事を残す
各NodeにFluent Bit DaemonSetが置かれ、Podログを集めて転送する図

ログは「何が起きたか」を詳細に残す情報です。Fluent Bitはログを入力し、必要なら加工・フィルタしてCloudWatch Logsなどへ転送します。Node上のコンテナログを集める用途ではDaemonSetが自然です。
押さえること:Fluent Bitは各Nodeのログを集め、転送・加工する役割を担う。
02メトリクスは傾向を見る
PrometheusがPodのmetrics endpointを定期収集し時系列DBへ保存

メトリクスはCPU、メモリ、リクエスト数、エラー率のような時系列の数値です。PrometheusはKubernetesのAPIと連携して対象を発見し、ラベルで絞り込みや集計を行えます。
押さえること:PrometheusはKubernetesの変化を発見して時系列メトリクスを収集する。
03可視化は判断のためにある
Prometheus→Grafanaダッシュボードと、ログ調査の補完関係

GrafanaはPrometheusなどのデータソースをクエリし、グラフやダッシュボードを表示します。ログで個別の原因を追い、メトリクスで異常の範囲と傾向を掴む、という役割分担が有効です。
押さえること:Grafanaはメトリクスを人が判断できるダッシュボードへ変える。
結論
- Fluent Bitは各Nodeのログを集め、転送・加工する役割を担う。
- PrometheusはKubernetesの変化を発見して時系列メトリクスを収集する。
- Grafanaはメトリクスを人が判断できるダッシュボードへ変える。