🏃

Grafana ダッシュボードを作成する際の小ネタ

2024/08/09に公開

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

Grafana でダッシュボードをコツコツ作っている日々です。
小さいけど便利なネタを紹介します。(自分の備忘のためにも)

グラフ ツールチップ

ダッシュボード内の複数のグラフを並べていると、このタイミングで他のメトリクスはどうだったかな?と思うことがあります。
そんな場面で便利な機能です。下画像の薄い点線です。

alt text



正式名称というか通称が不明なので調べるのに苦労しました。
Shared tooltip が個人的にはしっくりきます。

Dashboard Settings から設定できます。

Defaut → 何もしない
Shared crosshair → グラフ間でポイントしている接点を共有
Shared Tooltip → グラフ間でポイントしている接点を共有 + ツールチップ表示

Shared crosshair だと上画像の薄い点線が表示され、あるグラフ上でマウスを動かすと他のグラフ上でも同じ X 座標の位置に点線が表示されます。

Shared Tooltip はさらにマウスオーバーしたときと同じように値も表示します。

GUI だと以下です。

tooltip



JSON だとトップブロックに graphTooltip があるのでそちらです。
0 が Default、1 が Shared crosshair、2 が Shared Tooltip です。

{
  "id": null,
  "title": "New dashboard",
  (省略)
  "graphTooltip": 1,   ← これ
  (省略)
}

変数

欠かせないです。変数 (Variables) が無いとダッシュボードが作れないと言っても過言ではないです。
メトリクスを表示するグラフをダッシュボードに並べるとき、複数のリソースの同じメトリクスを表示したい場面がよくあります。
例えば、LB のリクエスト数を表示するグラフを複数の LB に対して表示したい、などです。
LB の台数分だけ同じグラフをコピペして作るのは面倒です。一覧性も悪いです。

私が作ってみたダッシュボードの例です。ロードバランサー名とターゲットグループ名を変数にしています。
デフォルトは「All」になっていて、ダッシュボードを開くと全てのロードバランサーのメトリクスが表示されます。

grafana_variables_lb



グラフの設定では、Dimensions を取得するところで変数を指定しています。$loadbalancername がそうです。

alt text



変数の定義は Dashboard Settings から行います。
変数に羅列するロードバランサー名を CloudWatch から取得しています。Namespace が希望のものになっていれば OK です。Metric はロードバランサー名が取得できればなんでも良いです。

query options

Variables

ローリングウィンドウ

SLO を定めている場合は、ローリングウィンドウベースの期間表示でメトリクス値を見たいと思います。

Grafana のダッシュボードは、右上の Time picker dropdown で表示期間を変更します。必要に応じて期間を変更できるので便利です。
ただ、過去7日間、過去30日間、過去365日間でメトリクスを表示したいモチベーションになることもあります。

グラフの Data Source の横に Query Options があります。その中の Relative Time で設定します。
now-7d で過去7日間、now-30d で過去30日間、now-365d で過去365日間です。
こうしておくと Time picker dropdown に影響されることがありません。

Relative Time

まとめ

ダッシュボードは観る人のために作るものです。
すこしでも理解しやく作るために、多くの小ネタをを使っていきたいものです。

Discussion