GrafanaのPrometheus対応
Grafanaは、様々なデータソースからのメトリックを監視・分析するために使用されるオープンソースの分析・可視化プラットフォームです。インタラクティブなダッシュボードを作成、探索、共有でき、Prometheus、InfluxDB、Elasticsearchなどのデータベースとの統合をサポートしています。Grafanaはオブザーバビリティに広く使用されており、アラート、プラグイン拡張性、リアルタイムデータ可視化のための柔軟なクエリエディタを提供します。
注: Prometheus用のGrafanaデータソースはGrafana 2.5.0 (2015-10-28)以降に含まれています。
以下に、PrometheusからデータをクエリするGrafanaダッシュボードの例を示します。
インストール
Grafanaをインストールするには、公式のGrafanaドキュメントを参照してください。
使用
デフォルトでは、Grafanaはhttps://:3000でリッスンします。デフォルトのログインは「admin」/「admin」です。
Prometheusデータソースの作成
GrafanaでPrometheusデータソースを作成するには
- サイドバーの「歯車」アイコンをクリックして「設定」メニューを開きます。
- 「データソース」をクリックします。
- 「データソースを追加」をクリックします。
- タイプとして「Prometheus」を選択します。
- 適切なPrometheusサーバーのURLを設定します(例:
https://:9090/
)。 - 必要に応じて他のデータソース設定を調整します(例: 適切なアクセス方法の選択)。
- 「保存&テスト」をクリックして新しいデータソースを保存します。
以下に、データソース設定の例を示します。
Prometheusグラフの作成
新しいGrafanaグラフを追加する通常の方法に従います。その後
- グラフのタイトルをクリックし、「編集」をクリックします。
- 「Metrics」タブの下で、Prometheusデータソースを選択します(右下)。
- 「クエリ」フィールドに任意のPrometheus式を入力し、「メトリック」フィールドを使用してオートコンプリートでメトリックを検索します。
- 時系列の凡例名をフォーマットするには、「凡例フォーマット」入力を使用します。例えば、返されたクエリ結果の
method
とstatus
ラベルのみをダッシュで区切って表示するには、凡例フォーマット文字列{{method}} - {{status}}
を使用します。 - 動作するグラフが完成するまで、他のグラフ設定を調整します。
Grafana 7.2以降では、$__rate_interval
変数をrate
およびincrease
関数で使用することが推奨されています。
Grafana.comからの構築済みダッシュボードのインポート
Grafana.comは、ダウンロードしてGrafanaのスタンドアロンインスタンスで使用できる共有ダッシュボードのコレクションを管理しています。Grafana.comの「フィルター」オプションを使用して、「Prometheus」データソースのダッシュボードのみを参照してください。
現在、ダウンロードしたJSONファイルを手動で編集し、datasource:
エントリをPrometheusサーバーに選択したGrafanaデータソース名に修正する必要があります。「ダッシュボード」→「ホーム」→「インポート」オプションを使用して、編集したダッシュボードファイルをGrafanaインストールにインポートします。