#問題
バックアップやバッチの処理中にどうしてもアラートが通知してしまう場合、処理の時間帯だけロードアベレージなどのアラートを停止したいということがあると思います。ホストの「メンテナンス」やアイテムの「例外の更新間隔」を使ってもいいのですが、その場合はすべてのトリガーが対象になったり、該当時間のデータが取得できなかったりするので、データを取得した上で特定のトリガーだけを停止したいという場合にはうまく設定できませんでした。
#解決
そこでtime関数を使うと時間をトリガーの発動条件に用いることができました。
({HOSTNAME:system.cpu.load[percpu,avg1].min(#10)}>1) and
(({HOSTNAME:system.cpu.load[percpu,avg1].time(0)}<040000) or
({HOSTNAME:system.cpu.load[percpu,avg1].time(0)}>050000))
(トリガーの条件) and ( (4時より前) or (5時より後) )
というトリガーになるので、4時から5時の間にはトリガーは発動しません。
ちなみに以下の書き方でも大丈夫でした!
{HOSTNAME:system.cpu.load[percpu,avg1].min(#10)}>1 and
({HOSTNAME:system.cpu.load[percpu,avg1].time(0)}<040000 and
{HOSTNAME:system.cpu.load[percpu,avg1].time(0)}>050000)=0
(トリガーの条件) and ( (4時より後) and (5時より前) = 0 )
で、0とすることで条件が否定されます。
どちらでもわかりやすい方を使うといいと思います。
#注意
zabbix2.4以降では、条件判定の文字列が「&」や「|」から「and」や「or」に変更になっていますのでご注意ください!(<-もちろんこれで数時間はまりました...)
#参考
http://www.zabbix.jp/node/2582
http://d.hatena.ne.jp/rougeref/20140414
http://blog.serverworks.co.jp/tech/2014/09/12/zabbix2-4-0release/