Kubernetesは強力なコンテナオーケストレーションプラットフォームですが、適切な可観測性(Observability)の仕組みを整備しなければ、本番障害時の原因特定に多大な時間を要することになります。本記事では、Prometheus・Grafana・Lokiを中心としたOSSスタックで、メトリクス・ログ・トレースの三本柱を整備する手順を解説します。
可観測性の三本柱とは
現代のクラウドネイティブシステムにおける可観測性は、以下の3つの柱で構成されます。
- メトリクス:CPU使用率・メモリ・リクエスト数などの時系列データ。PrometheusとGrafanaで可視化。
- ログ:アプリケーション・インフラの動作記録。Grafana Lokiで集約・検索。
- トレース:リクエストがマイクロサービス間をどのように伝播したかの記録。OpenTelemetry + Tempoで収集。
この三本柱を適切に整備することで、障害発生時の原因特定時間(MTTR)を大幅に短縮できます。
kube-prometheus-stack の導入
Prometheus・Grafana・AlertManager・各種Exporterをまとめてインストールできるkube-prometheus-stackは、Kubernetesの可観測性整備の出発点として最適です。Helmを使ったインストールは比較的簡単ですが、本番環境では永続化ストレージの設定・リソース制限・AlertManagerのルール設計が重要になります。
重要な設計ポイント
本番環境でPrometheusを運用する際に特に注意すべき点は、データの永続化と保存期間の設定です。デフォルト設定ではPodが再起動するとメトリクスが失われます。PersistentVolumeClaim(PVC)を設定し、保存期間を要件に合わせて調整することが必要です。また、Prometheusがスクレイプするメトリクスの量が増えると、メモリ使用量が急増する可能性があります。スクレイプインターバルとサンプルの保持ポリシーを適切に設計することが重要です。
Grafana Loki によるログ集約
Grafana Lokiは「Prometheusのログ版」とも呼ばれ、ラベルベースのインデックスによって低コストでログを集約できます。PromtailをDaemonSetとしてデプロイすることで、全Nodeのログを自動収集できます。
Lokiの優れた点は、GrafanaのダッシュボードからメトリクスとログをシームレスにCorrelation(相関)できることです。特定の時刻にスパイクしたエラーレートのグラフから、その時刻のログへ直接ジャンプする操作が可能になります。
アラートルールの設計
可観測性の整備において、アラートの設計は最も重要かつ難しい部分です。アラートが多すぎると「アラート疲れ」が生じ、重要な通知を見落とす原因になります。弊社では以下の原則でアラートルールを設計することを推奨しています。
- 症状(Symptom)に対してアラートする。原因(Cause)ではなく。
- SLO(サービスレベル目標)に基づいたアラート閾値の設定
- 重要度(Critical / Warning / Info)を明確に分類する
- アラートにはRunbookへのリンクを必ず含める
- 定期的なアラートルールの見直しと不要なルールの削除
OpenTelemetryによるトレース収集
分散トレーシングは、マイクロサービス環境での障害調査に不可欠です。OpenTelemetry Operator を Kubernetes にデプロイすることで、アプリケーションへのコード変更を最小限に抑えながらトレースを自動収集できます。バックエンドとしてはGrafana Tempoを使用することで、LokiやPrometheusと統一されたUIで三本柱のすべてを管理できます。
ダッシュボードの設計指針
Grafanaダッシュボードは「誰が・何のために使うか」を明確にして設計する必要があります。オンコールエンジニア向けの障害対応ダッシュボード、ビジネスKPI可視化のための経営向けダッシュボード、パフォーマンスチューニング用の詳細ダッシュボードでは、表示する情報と粒度が異なります。ダッシュボードはコードとして管理し(Grafana as Code)、バージョン管理・レビュー・デプロイをCI/CDパイプラインで自動化することを推奨します。
まとめ
Prometheus・Grafana・Lokiによる可観測性スタックの構築は、一度整備すれば本番運用の安定性と障害対応速度を大きく向上させます。ただし、アラートルールの設計やダッシュボードの継続的な改善には、チームの継続的な取り組みが必要です。
KumoTech Solutions では、Kubernetes環境の可観測性整備から継続的な運用最適化まで、一貫してご支援しています。