複数の単一サーバの特定プロセスをトリガー条件式に定義する方法
■環境
●ZabbixServer 3.0.21
・OS:RHEL7.4
・DB:mariadb5.6
●ZabbixAgent 3.0.21
・OS:RHEL7.4
■実施したい監視内容
Aサーバ、Bサーバにて起動してるaaaプロセス(同様プロセス)をAサーバ、Bサーバにて個別停止した場合、トリガーAorB
Aサーバ、Bサーバ両方停止している場合、トリガーAandBとしたい。
■想定テンプレート
テンプレート名:ABテンプレート
アイテムキー:proc.num[aaaa,,,^aaa.conf$] (カンマの数は適当です。用はプロセス名とコマンドラインを監視)
トリガー名:トリガーAorB
トリガ条件式:{ABテンプレート:proc.num[aaaa,,,^aaa.conf$].last()}=0
トリガー名:トリガーAandB
トリガ条件式:({Aサーバ:proc.num[aaaa,,,^aaa.conf$].last()}=0) and ({Bサーバ:proc.num[aaaa,,,^aaa.conf$].last()}=0)
■質問内容
上記「■想定テンプレート」にて想定の動作は実施されるのですが、「テンプレート名:ABテンプレート」のトリガー定義にて「トリガー名:トリガーAandB」を「追加」した際、正常に実行されるのですが「テンプレート名:ABテンプレート」には「トリガー名:トリガーAandB」は存在せず、「ホスト」のAサーバ及びBサーバ上のトリガーのみに存在するトリガーとなります。
→「テンプレート名:ABテンプレート」上に「トリガー名:トリガーAandB」を定義させる方法はありますでしょうか。(トリガー内にテンプレート名がないのが原因ですが条件にホストをいれるテンプレート名は定義できない?)
上記条件式に拘りがあるわけではないので「■実施したい監視内容」を満たし尚且つテンプレート化する方法のご教授お願いします。
以上
z_karubi - 投稿数: 10
よろしくお願いします。
TNK - 投稿数: 4754
AサーバーとBサーバーを同じホストグループに所属させて、grpsum[]
をつかって0なら障害と判断してもよいのではないでしょうか?
https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/a...
z_karubi - 投稿数: 10
TNK様
早急の回答ありがとうございます。
本日午前中に以下のフォーラムを確認し、計算アイテムにて定義したところ意図通りになりました。
参考フォーラム:ttp://www.zabbix.jp/node/2919
しかしながらご教授して頂いた「groupfunc」の方が使用しやすそうなので「groupfunc」で評価してみようと思います。