累計チェックについて
お世話になっております。
以下の「累計チェック」について質問させてください。
https://www.zabbix.com/documentation/jp/2.0/manual/config/items/itemtype...
今、"Item key"は"OK"か"NG"を返す文字列とします。
ここで、"Host group"の中で、OKを返すホストの数を数えたいというの要件です。
そこで、累計チェックを使って以下のようなアイテムを考えました。
groupfunc["Host group","Item key",count(60,"OK"),60]
しかしながら、登録しようとするとエラーとなります。
itemfuncに、括弧付きの関数は使えないように見えます。
そこで質問です。
1. item keyは文字列を返すキーは想定していないのか?
2. 前述の要件を満たそうとすると、文字列を一旦数値(OKなら1など)に変換して累計チェックを使用するべきか?
以上、よろしくお願いいたします。
TNK - 投稿数: 4740
利用されているZabbixのバージョンを記載いただけていませんが、
マニュアルのリンクとして2.0用をご提示頂いたということで、
2.0系を利用されているということでよろしいでしょうか?
また、エラーが表示されるのであれば、どのようなエラーメッセー
ジであったかを具体的にお教えください。
また、「groupfunc」というグループ関数はありません。
マニュアルにもある通り、
grpavg
grpmax
grpmin
grpsum
のうちのいずれかを指定することになるはずです。
itemfuncも同様に、avg、count、last、max、min、sumなどが使え
ますが、これらのitemfuncは引数を持ちません。
よって、質問内に記載されたようなアイテムの値が条件に一致する
ようなホスト数を数えるようなことはできないと思います。
実際にやってみてはいませんが、各ホストに対して、OKであれば1
を設定して、NGであれば0を設定するようなアイテムを用意すれば、
そのアイテムの最新値をホストグループでグルーピングして総計を
計算すれば、OKのホストの数を取得するようなことができると思い
ます。
例えば、
grpsum["ホストグループ名","アイテムキー",last]
というような式です。
ということで、
想定していると思いますが、記載頂いたような使い方はできないと
思います。
itemfunのcountに関しては、groupfuncの引数で指定した期間内で
何回アイテムを取得したかを取得することには使えると思います。
数値であれば、先に書かせて頂いたようにgrpsum[]を利用して実現
できると思われましたので、試してみて頂けませんでしょうか?
ikushin - 投稿数: 12
素早いご回答ありがとうございます。
Zabbixのバージョンは2.2でした。その他、ご指摘いただいたことについては、次回から注意して質問させていただくように致します。
さしあたっては、itemfuncは引数を持たないこと、数値であればgrpsum[]を利用して実現出来そうだということで、試してみます。
大変助かりました。