🔄

Grafanaダッシュボートはrepeating rowsが捗る

2024/10/17に公開

こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。

朝出社してまずやることは、Grafana ダッシュボードを眺めて異常、または、異常の予兆を探すことです。
対象のリソースが増えるとダッシュボードを作成する手間が増えます。そんなときに便利なのが、Repeating rows です。

Repeating rows とは

ダッシュボードの中には Row といった区切りを設置できます。Row の中には複数の Panel を配置できます。

------------Row------------

+---------+    +---------+
|  Panel  |    |  Panel  |
+---------+    +---------+

+---------+    +---------+
|  Panel  |    |  Panel  |
+---------+    +---------+

------------Row------------

+---------+    +---------+
|  Panel  |    |  Panel  |
+---------+    +---------+

+---------+    +---------+
|  Panel  |    |  Panel  |
+---------+    +---------+

Repeating rows は、その名前の通り Row と Panel を繰り返し配置する機能です。
例えば、ロードバランサーが複数存在する場合、同じパネルをロードバランサー台数コピーして配置するのは面倒です。
Repeating rows を使うと、ベースとなる Panel の塊を自動でコピーしてくれるので、手間が省けます。パネルを増やしたい、修正したい際にはベースとなる Panel を修正すれば、自動で反映されます。

やってみた

Variables の設定

Repeating rows を使うには、Variables の設定が必要です。

Dashboard Settings -> Variables から変数を設定します。
大切なのは Multi-valueInclude All option です。これらに必ずチェックを入れてください。

alt text

ダッシュボードに戻ると変数が表示されます。今回の例は、LoadBalancerName という変数を設定し、3台のロードバランサーが選択可能になっています。

img

Row と Panel の設定

まず Row です。ダッシュボードの上部から Row を追加します。

alt text

Row の中に Panel を追加します。今回の例は CloudWatch からメトリクスを取得しています。
以下例のように Dimensions で変数を取るように設定しましょう。
同じように欲しいメトリクスの Panel を作成します。

alt text

繰り返す

さて本題です。
Row をマウスオーバーすると歯車ボタンが表示されますので、クリックします。

Row のタイトルを入力します。ここでも変数が使えます。識別に便利なので追加しておきましょう。

Repeat for にはリピートさせたいリソースの変数を指定します。今回の例では loadbalancername です。(ところで、変数の設定は大文字なのに指定する時は小文字なのは何故でしょう?)

alt text

更新する

Row と Panel の組み合わせが変数で選択可能なリソース数だけ作成されたはずです。
これは Grafana ダッシュボードやパネル全般に言えることですが、変更を反映させるために更新ボタンを押してください。更新したら期待した結果になっていると思います。

Panel の追加や修正

繰り返された Panel には Edit ボタンがありません。大丈夫です。
ベースとなった Panel 群には Edit ボタンがありますので、こちらをクリックして修正してください。繰り返された全ての Panel に反映されます。

まとめ

Repeating rows を使うと、同じような Panel を繰り返し配置するのが楽になります。
様々な目的を持った様々なダッシュボードが世の中にはありますが、管理しているリソースのメトリクスを一覧表示したいケースもあると思います。そういったケースで Repeating rows は有用です。

Discussion