Grafana ダッシュボードを作成する際の小ネタ
こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。
Grafana でダッシュボードをコツコツ作っている日々です。
小さいけど便利なネタを紹介します。(自分の備忘のためにも)
グラフ ツールチップ
ダッシュボード内の複数のグラフを並べていると、このタイミングで他のメトリクスはどうだったかな?と思うことがあります。
そんな場面で便利な機能です。下画像の薄い点線です。
正式名称というか通称が不明なので調べるのに苦労しました。
Shared tooltip
が個人的にはしっくりきます。
Dashboard Settings から設定できます。
Defaut → 何もしない
Shared crosshair → グラフ間でポイントしている接点を共有
Shared Tooltip → グラフ間でポイントしている接点を共有 + ツールチップ表示
Shared crosshair
だと上画像の薄い点線が表示され、あるグラフ上でマウスを動かすと他のグラフ上でも同じ X 座標の位置に点線が表示されます。
Shared Tooltip
はさらにマウスオーバーしたときと同じように値も表示します。
GUI だと以下です。
JSON だとトップブロックに graphTooltip
があるのでそちらです。
0 が Default、1 が Shared crosshair、2 が Shared Tooltip です。
{
"id": null,
"title": "New dashboard",
(省略)
"graphTooltip": 1, ← これ
(省略)
}
変数
欠かせないです。変数 (Variables) が無いとダッシュボードが作れないと言っても過言ではないです。
メトリクスを表示するグラフをダッシュボードに並べるとき、複数のリソースの同じメトリクスを表示したい場面がよくあります。
例えば、LB のリクエスト数を表示するグラフを複数の LB に対して表示したい、などです。
LB の台数分だけ同じグラフをコピペして作るのは面倒です。一覧性も悪いです。
私が作ってみたダッシュボードの例です。ロードバランサー名とターゲットグループ名を変数にしています。
デフォルトは「All」になっていて、ダッシュボードを開くと全てのロードバランサーのメトリクスが表示されます。
グラフの設定では、Dimensions を取得するところで変数を指定しています。$loadbalancername
がそうです。
変数の定義は Dashboard Settings から行います。
変数に羅列するロードバランサー名を CloudWatch から取得しています。Namespace が希望のものになっていれば OK です。Metric はロードバランサー名が取得できればなんでも良いです。
ローリングウィンドウ
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 に影響されることがありません。
まとめ
ダッシュボードは観る人のために作るものです。
すこしでも理解しやく作るために、多くの小ネタをを使っていきたいものです。
Discussion