ラベル付きメトリックは、PromQL クエリ言語を用いてグラフに表示できます。Mackerel では、PromQL の以下の機能がサポートされています。
時系列セレクタ
- ベクトルセレクタ
=
(等号ラベルマッチャ)!=
(不等号ラベルマッチャ)=~
(正規表現ラベルマッチャ)!~
(否定正規表現ラベルマッチャ)
- 範囲ベクトルセレクタ
なお、__name__
ラベルを用いたメトリック名の指定には対応しておりません。
範囲ベクトルセレクタの制約事項
範囲ベクトルセレクタで指定した期間とグラフの表示期間が大きく異なる場合、グラフの表示が正しく行われないことがあります。
これには、PromQL で 5 分間の期間を指定(sum(irate(nginx_http_requests_total[5m]))
)し、グラフの表示期間が 1 日の場合等が該当します。
この制限を回避するためには、範囲ベクトルセレクタで指定する期間でグラフの表示期間をできる限り近い値に指定してください。
修飾子
集計演算子
また、集計に用いるラベルを制御する by
・without
修飾子に対応しています。
二項演算子
(vector) x (vector)
、(vector) x (scalar)
、(scalar) x (vector)
、(scalar) x (scalar)
の 4 パターンで定義されます。
ベクトル同士の演算を実現するために、ベクトルマッチングという仕組みが実装されています。一対一対応(算術・比較演算子)と多対多対応(集合演算子)は既に実装が完了しています。
group_left
・group_right
修飾子を用いた一対多対応は未実装です。