計算アイテムのエラーについて
お世話になっています。
以下事象について心当たりがある方がいらっしゃいましたらコメントをお願いします。
バージョン:Zabbix4.0
タイプ:計算
キー:CPUperf
式:100/ last("vmware.vm.perfcounter[{$URL},{$UUID},"cpu/usage[average]"]")
データ型:数値(浮動小数)
上記設定を行うとアイテムの横にエラー表示がされ、以下のメッセージが出てきます。
『Incorrect function 'last' expression. Check expression part starting from: "vmware.vm.perfcounter[{$URL},{$UUID},"』
ご教示お願いいたします。
TNK - 投稿数: 4719
「"」(ダブルコーテーション)の位置の問題だと思われます。
「last(」のすぐ後のダブルコーテーションに対応するダブルコー
テーションが、cpuの前のダブルコーテーションであると判断され
括られてしまって、last関数の最初の引数が、
vmware.vm.perfcounter[{$URL},{$UUID},
というアイテムキーの途中までの引数であるとみなされてしまった
のでしょう。
計算式を以下のように変更してみてください。
100/ last(vmware.vm.perfcounter[{$URL},{$UUID},"cpu/usage[average]"])
otakon1012 - 投稿数: 30
TNKさん
いつもお世話になっています。早速のコメントありがとうございます。
教えていただいた計算式を設定したところ以下のエラーが出ました。
『Incorrect function 'last' expression. Check expression part starting from: "cpu/usage{average}"』
しかし、
ダブルコーテーションが問題なのではないかとのことでしたのでエスケープし、
以下の様に設定を行うことで解決しました。
(計算に誤りがあったため合わせて修正しました)
修正前:100/last("vmware.vm.perfcounter[{$URL},{$UUID},"cpu/usage[average]"]")
修正後:last("vmware.vm.perfcounter[{$URL},{$UUID},\"cpu/usage[average]\"]")/100
ありがとうございました。