Zabbix3.0 でのアクション実行条件、実行内容について
いつもお世話になっております。
Zabbix3.0.3 です。
想定する挙動:トリガー値が "障害" 時にはリカバリまで通知し続ける -> リカバリ時にはリカバリ時のみ通知する
以下の通り設定
【アクション実行条件】
A and B
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
【アクション実行内容】
ステップ:1-0
ステップの間隔:0(デフォルト:3600)
実行内容のタイプ:リモートコマンド
コマンド:/usr/lib/zabbix/alertscripts/hoge.sh "{TRIGGER.STATUS}" "{ITEM.LASTVALUE}"
この設定なのですが、リカバリ時(トリガー値= OK)でもコマンドが実行されつづけてしまいます。
実行条件や実行内容で必要な設定はありますでしょうか。
どうぞよろしくお願いします。
TNK - 投稿数: 4769
手元の3.0.3の環境で同様の設定を行ってみましたが、障害時にト
リガーの状態が障害の状態のままである間は継続的に指定した間隔
でリモートコマンドが実行され、障害回復時には何も実行されませ
んでした。
アクションの設定は以下の通りです。
・リカバリメッセージにチェック
※実行内容がリモートコマンドのみの場合は機能しない
・アクションの実行条件
A メンテナンスの状態 期間外 メンテナンス
B トリガーの値 = 障害
・アクションの実行内容
ステップ: 1-0
ステップの間隔: 60 ←テスト用に短くしてみた
実行のタイプ: リモートコマンド
ターゲットのリスト: 現在のホスト
タイプ: カスタムスクリプト
次で実行: Zabbixサーバー
コマンド: /usr/lib/zabbix/alertscripts/hoge.sh "{TRIGGER.STATUS}" "{ITEM.LASTVALUE}"
アクションの実行条件: なし
リカバリ時にはスクリプトは実行されていません。
どのようなトリガーを設定されているのかをお教えください。
ちなみに、リカバリ時にもスクリプトを実行する場合は、上にも書
かせて頂いた「リカバリメッセージ」にチェックをして、リモート
コマンドではなく、メディアを登録してメディアを利用してメッセ
ージを送信するようにしてみてください。
yu87 - 投稿数: 3
TNK さま
ご返答ありがとうございます。
> どのようなトリガーを設定されているのかをお教えください。
今回のトリガーは Zabbix Server のもので
Template OS Linux: Free disk space is less than 20% on volume {#FSNAME} {Zabbix server:vfs.fs.size[{#FSNAME},pfree].last(0)}<20
です。(ちなみに {#FSNAME} は / です)
実行されたスクリプトの結果は「OK 46.92%」となっていて、{TRIGGER.STATUS} が OK だけれども実行されてしまってます。
> リカバリ時にはスクリプトは実行されていません。
なるほど。そもそもリカバリ時にはスクリプトは実行されないのですね。
引き続きご教示頂けると助かります。
TNK - 投稿数: 4769
デフォルトのテンプレートのトリガーであれば、特に問題が発生
しそうな原因が思いつかないので、別途、新規にアクションを作
成しなおしてみてください。
yu87 - 投稿数: 3
TNK さま
ご返答ありがとうございます。
そうですね。一旦アクションを作成し直した方がよさそうです。
ありがとうございました。