はじめに
先に構成した環境ではPrometheus自身のメトリックが取得されている状況なので、Grafana上にPrometheusのMetricsを可視化するダッシュボードを作成する手順を試してみます。
関連記事
Prometheus/Grafanaメモ - (1)Podmanでのテスト環境構築
Prometheus/Grafanaメモ - (2)GrafanaのDashboadを作ってみる
Grafanaのダッシュボードを作成
ダッシュボードの新規作成
ダッシュボードを新規に作成します。
NewのプルダウンメニューからNew Dashboardを選択
これで新しいダッシュボードを作成するための初期画面になります。
メモリ情報のグラフを追加
パネルの編集画面が開きます。ここでどのデータを元にどのようなグラフを作成するかを指定していきます。
まず、メモリの状況を確認するためのグラフを作成してみます。
Metricの欄から"process_resident_memory_bytes"を選択し、Run queryボタンをクリックします。
※Metricの欄ではプルダウンメニューにPrometheus上に保持されている項目がリストされるので、そこから選択できます。キーワードを入れるとそれを含む項目がフィルターされて表示されます。(使いやすい!)
パネルの名前を指定し、その他適宜右側のペインで必要な設定を行い、右上のApplyボタンをクリックします。
CPU情報のグラフを作成
このダッシュボードにもう一つ別のパネルを追加してみます。
上段のAdd Panelのアイコンをクリックし、Add a new panelをクリックします。
先ほどと同じ要領で、今度はprocess_cpu_seconds_totalというMetricを指定してRun queriesボタンをクリックします。
上段にグラフが表示されましたが、この情報は消費したCPU時間の累積値が記録されているようなので、右肩上がりのグラフになっています。
このような情報は生の値をそのままグラフ化すると状況を把握しにくいので、少し加工して表示するようにします。
Metricの下にある"Operation"ボタンをクリックします。
プルダウンメニューから、Range functions - Rate を選択します。
Rateが追加され、Raw queryを見るとrate()関数が適用されている様子が分かります。
この状態で、再度 Run queries ボタンをクリックしてみると、グラフ表示が以下のように変わります。
単位時間あたりのCPU使用時間のグラフが表示されるようになりました。
Titleを指定して右上のApplyボタンをクリックします。
これで、PrometheusのMemoryとCPUの状況を表すダッシュボードが作成されました。
ダッシュボードの保存
補足
可視化を行う場合、当然のことながら元になるデータがどういう意味合いを持つのかを把握した上で、どのようなグラフを作成すると意味のある分かりやすいものになるかを考慮する必要があります。
GrafanaからPrometheusの情報を引っ張ってくる際にはPromQLというクエリ言語が使われることになりますが、PromQLでは可視化の際に便利な関数などがいろいろと提供されているようです。上で使用したrate()関数もその一つです。この辺りの機能を駆使することで柔軟にいろんな形の可視化が行えそうです。
参考:
Querying Prometheus
Grafana support for Prometheus
Grafana - Data Sources - Prometheus data source