【ぷろめてうす】

Prometheus とは?

💡 クラウドネイティブ監視の「標準ツール」
📌 このページのポイント
Prometheus — プルベース監視アーキテクチャ App :9090/metrics DB :9104/metrics Node Exporter 監視対象 (Targets) pull Prometheus 時系列DB (TSDB) PromQL(クエリ言語) サービスディスカバリ アラート AlertManager Slack / Email / PagerDuty 通知の集約・ルーティング クエリ Grafana ダッシュボード グラフ・メトリクス可視化 プルモデル: Prometheus側がTargetのエンドポイントを定期的に取得 Push型(対象→監視)と異なり、監視対象の追加・削除が柔軟
Prometheusのイメージ — プルベースでメトリクスを収集し監視・アラート
ひよこ ひよこ

Push型とPull型の違いは?

ペンギン先生 ペンギン先生

Push型(Datadog、CloudWatch)はアプリが監視サーバーメトリクスを送信する。Pull型のPrometheusは監視サーバーがアプリのエンドポイント(/metrics)を定期的にスクレイピングする。Pull型のメリットは、監視対象の追加・削除が容易で、対象がダウンした時にそれ自体を検知できることだよ

ひよこ ひよこ

Grafanaとの関係は?

ペンギン先生 ペンギン先生

PrometheusはメトリクスのStorageとクエリエンジン。Grafanaは可視化ダッシュボード。PrometheusのPromQLでクエリを書き、Grafanaで美しいグラフやダッシュボードを作る。この組み合わせはKubernetes環境の監視のデファクトスタンダードだよ

ひよこ ひよこ

アラートはどう設定する?

ペンギン先生 ペンギン先生

Alertmanagerというコンポーネントアラート処理を担当。Prometheusのルールで「CPU使用率が5分間80%以上」のような条件を定義して、Alertmanagerが重複排除→グルーピング→通知先(Slack、PagerDuty、メール等)への送信を行う。アラートの設計は「鳴りすぎず鳴らなすぎず」のバランスが大事だよ

ひよこ ひよこ

長期保存はどうする?

ペンギン先生 ペンギン先生

Prometheus単体のストレージは短期(15日〜数ヶ月)向き。長期保存にはThanos、Cortex、Mimirなどのプロジェクトを使う。Thanosはサイドカーパターンオブジェクトストレージ(S3等)にメトリクスを永続化する。Grafana Mimirも長期保存の有力な選択肢として成長しているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Prometheus」って出てきたら「クラウドネイティブ環境の標準的な監視ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Prometheus」 = プロメテウス(ギリシャ神話の火を盗んだ神)
💬 SoundCloudが開発してCNCFに寄贈。ギリシャ神話の「先見の明」の神から命名だよ
← 用語集にもどる