Zabbix6.0 トリガー関数の変更で困った話
こんにちは、mtokです。 Zabbix6.0 LTSバージョン(長期サポートバージョン)が公開されてから1年が経過しましたが 長期サポートのついた最新バージョンということもあり、現在利用中の方も多いのではと思います。 今回はZabbix5.0から6.0へ移行する時に困ったトリガー関数について書きます。
6.0のトリガー関数について
Zabbix6.0の変更点はいくつかございますが、 その中でもトリガー関数は過去バージョンと比べて大きな仕様変更がありました。 Zabbix5.0では {アイテムキー.トリガー関数(パラメータ)}>1 Zabbix6.0では トリガー関数(アイテムキー,パラメータ)>1 といったようにトリガー関数の定義方法が大きく変わっています。
エラー発生!
Zabbix6.0の画面で初期設定(ホスト、テンプレート、アイテム、トリガー作成)をしていたところ、 手動で登録したトリガーが一部機能していないことに気付きました。 エラー内容Cannot evaluate function count(アイテムキー,#5,0,"ne"): operator "0" is not supported for function COUNT.どうやらcount関数の定義でエラーが出たようです。
原因は…
Zabbix5.0側 {アイテムキー.count(#5,0,ne)}>3 Zabbix6.0側 count(アイテムキー,#5,0,"ne")>3 何が違うのかな~と設定画面を眺めていたら... パラメータの指定順番が TVO → TOV に変わっていました。 Zabbix公式ページでは count(アイテムキー,#5,"ne",0)>3 と設定するのが正しいようです。 よく見ればわかることですが、古いバージョンの順番に慣れていたので 完全に目が流れていました。
ちなみに
アイテムとトリガーをテンプレートとして管理している場合は 『テンプレートのエクスポート/インポート』を利用することで Zabbix5.0で設定したトリガー書式でも、Zabbix6.0仕様に自動変換されます。
“最新バージョンの変化を肌で感じたい方” 以外はこの機能を使うと、かなり楽できます。
Zabbix6.0では、新機能が続々と開発されているようなので今後に期待です。