💭
GrafanaでDashboard variablesによく使うlabel_valuesを2倍以上高速化したい
Grafanaでダッシュボードの上部に変数を表示して、グラフパネルの対象システムやインスタンスを切り替えるのは良くあると思います。
例えば、Node Exporterを使って、instance一覧の変数を作る時はこのような label_values
を利用します。
label_values(node_exporter_build_info, instance)
しかしこのクエリ、単純に重いです。もちろんデータソースによりますが、私のよく利用するPrometheus互換のデータソース(例えばthanos)でも気になる程度には時間がかかります。
これを下記のように query_result
に書き換えます。
query_result(count by (instance) (node_exporter_build_info) )
この変更だけで、私の環境では2-4倍ほどクエリが早くなり、結果的にダッシュボードも高速に描画できるようになりました!
ちょっとトリッキーというかハッキーなので、あまり推奨は出来ないかもしれませんが、Grafanaダッシュボードのパフォーマンスチューニングの一環として参考にしてください。
Discussion