InfluxDB のデータに対して Grafana でパネルを作成したとき、グラフの凡例は メジャーメント名.集約関数
となりますが、これをフィールド名にする方法です。
問題点
通常は以下のように凡例が メジャーメント名.集約関数
で表示されます。
一応 alias
で任意の名前をつけることができるので、そこにフィールド名を入力すれば表示を変えることはできますが、それでもメジャーメント名は必ず先頭についてしまいます。
これを、先頭にメジャーメント名がつかないようにして、フィールド名だけを表示するようにします。
ALIAS BY に表示したい名前を入力する
1つのフィールドしか表示していないのであれば、これがもっとも簡単です。
複数のフィールドを表示している場合
1つのクエリで複数のフィールドを表示している場合、上記の方法だとすべての凡例が ALIAS BY
で設定した名前になってしまいます。
この場合、以下のようにクエリを分けることで一応対応できます。
しかし、1つのクエリで複数のフィールドを表示している場合は、後述するように $col
を使う必要があります。
ALIAS BY に $col を指定する
ALIAS BY
で指定できる置換パターンの一つに $col
があります。
ただし、$col
を指定した場合に表示されるのは、フィールドではなく集約関数の名前です。
InfluxDB は必ず集約関数を必要とするので、集約関数をなしにすることはできません。
従って、結局全てのフィールドに alias
を設定してやる必要があります。
そうすれば、凡例が各フィールドの alias
で入力した値に置換されます。
うーん・・・、フィールド名を表示したいだけなのに結構面倒ですね。
普通に考えて凡例はフィールド名がデフォルトであるべきだと思うんですけどね。