Prometheus・Grafana ぷろめてうす・ぐらふぁな
監視メトリクス可視化アラートダッシュボード時系列データ
Prometheus・Grafanaについて教えて
簡単に言うとこんな感じ!
PrometheusはシステムのCPU・メモリ・エラー数などをせっせと収集する「データ収集係」、Grafanaはそのデータをグラフやダッシュボードでパッとわかりやすく表示する「グラフ描き係」だよ! 2つセットでシステム監視の定番コンビなんだ!
Prometheus・Grafanaとは
Prometheusは、システムやアプリケーションからメトリクス(数値データ)を定期的に収集・保存するオープンソースの監視ツールです。CPU使用率・メモリ消費・HTTPリクエスト数・エラー率といった数値を時系列データとして蓄積し、独自クエリ言語PromQLで柔軟に分析できます。
Grafanaは、Prometheusをはじめとする様々なデータソースからデータを取得し、グラフ・ゲージ・ヒートマップなどを用いたダッシュボードを作成する可視化ツールです。コードを書かずにドラッグ&ドロップで直感的なダッシュボードを作れるため、エンジニアだけでなく運用チームにも広く使われています。
発注者の視点では、システムに「Prometheus+Grafanaによる監視基盤が整備されているか」を確認することが、運用品質の評価につながります。監視がないシステムは、障害が起きても気づくのが遅れ、重大な損害につながるリスクがあります。
PrometheusとGrafanaの役割分担
| 役割 | Prometheus | Grafana |
|---|---|---|
| 主な機能 | メトリクス収集・保存・アラート | データ可視化・ダッシュボード |
| データ取得方法 | スクレイピング(pull型) | データソースから取得 |
| クエリ言語 | PromQL | 各データソース依存 |
| アラート機能 | Alertmanager連携 | Grafana Alerting |
| データ保存 | ローカルTSDB | なし(他DBに依存) |
| UIの豊富さ | 基本的な表示のみ | 高度なダッシュボード |
Prometheusのデータ収集の仕組み
| 用語 | 意味 |
|---|---|
| スクレイピング | 監視対象のエンドポイントにHTTPでアクセスしてデータを取得 |
| Exporter | 監視対象ごとのデータ変換アダプタ(MySQL Exporter等) |
| TSDB | 時系列データベース。Prometheusの内部ストレージ |
| PromQL | Prometheus独自のクエリ言語。集計・フィルタが可能 |
| Alertmanager | アラート条件に合致したらSlackやメールで通知 |
歴史と背景
- 2012年 — SoundCloudのエンジニアがGoogleの内部監視ツール「Borgmon」にインスパイアされPrometheusを開発開始
- 2015年 — Prometheusがオープンソースとして公開
- 2016年 — CNCF(Cloud Native Computing Foundation)に採択。Kubernetesの標準監視ツールとして普及が加速
- 2018年 — PrometheusがCNCFの「卒業プロジェクト」に。企業での採用が急増
- 2014年 — GrafanaがTorkel Ödegaardによって公開。Kibanaのフォークとして誕生
- 2020年代 — GrafanaがPrometheus以外にも多数のデータソース対応。Grafana Cloudとしてマネージドサービスも提供
監視の全体像
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| OpenMetrics | Prometheusのメトリクス形式を標準化したIETF提案仕様 |
| CNCF Prometheus | CNCFの卒業プロジェクト。エンタープライズ採用の裏付け |
| OpenTelemetry OTLP | Prometheusと統合可能なテレメトリ転送プロトコル |
関連用語
- OpenTelemetry — トレース・メトリクス・ログを統一収集する標準仕様
- ELKスタック — ログ収集・検索・可視化のElastic社製統合スタック
- Kubernetes — コンテナ管理基盤。Prometheusと親和性が高い
- クラウドネイティブ — クラウドの特性を最大活用する設計思想
- DevSecOps — 開発・セキュリティ・運用を統合したプロセス
- SRE(サイトリライアビリティエンジニアリング) — 信頼性をエンジニアリングで担保するアプローチ