ZABBIX2.0 のトラップに対するアクションの スケジュールについて

いつもお世話になっております。

ZABBIX2.0でトラップによる メール送信アクションを使っていますが、監視対象スイッチに接続されているサーバが夜間に定期リブートされます。
その際に、ポートのダウンアップのトリガーが発生し、メール送信アクションが実行されてしまいます。

トラップに対するアクションを ポート別に スケジュールで 制御したいのですが可能でしょうか?

よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

ポート単位で、定期的にそのポートに関するトリガーを停止すると
いうことはZabbixの標準の機能だけでは実現できなかったと思いま
す。

ホスト単位でよろしければ、そのホストに対してメンテナンス期間
の設定を行うことで、特定の時間帯内のメール送信を行わないよう
に設定することができます。

具体的には、定期的にリブートする時間帯を「メンテナンス期間」
として登録し、アクションの実行条件に、

 メンテナンスの状態 期間外 "メンテナンス"

の条件を追加することで実現できます。

ユーザー sat の写真

お世話になります。

ポート単位で、定期的にそのポートに関するトリガーを停止するということはできないとのことですが、
スケジュールは使わずに、当該ホストの ある特定(いくつか)のポートだけをTrap監視するということはできないでしょうか?

よろしくお願いいたします。

ユーザー fripper の写真

その当該ポートに対するアイテム・トリガーについて、
毎日決まった時間帯だけ「監視していても無意味」となるような再起動処理があるのでしたら
トリガーの判定条件の段階で、date 関数や time 関数を用いて
「この時間帯以外の場合だけ、異常判定をする」といった
定義ができるのではないでしょうか?

トラップを受けてしまう→障害として検知してしまう→アクションが発動してしまう→ いかにしてメールを送らないか

ではなく、

トラップを受けてしまう→条件で指定された時間帯ならば障害として扱わない

といったアプローチです。
いかがでしょうか?

ユーザー sat の写真

お世話になります。

トラップを受けてしまう→条件で指定された時間帯なら障害として扱わない

ということですが、その当該ポート以外は、終日監視を続ける必要があるのですが

トラップを受けてしまう→当該ポートのみ、条件で指定された時間帯なら障害として扱わない 
ということが可能なのでしょうか?

よろしくお願いいたします。

ユーザー fripper の写真

現在の設定では、SNMPTrapを受信する1つのアイテム、それに対応する1つのトリガー、という
状態かと思います

これを、アイテム定義はそのままにしておいて、トリガーの発動条件だけを変更します

host.snmptrapitem.nodata(600)=0

などと定義されているのではないかと勝手に推察していますが、
これに、受信文字列に含まれるOID文字列などで付加条件を加え、2つのトリガーにします

トリガー1:問題のポート以外
host.item.nodata(600)=0 & host.item.regexp("フィルタ文字列") = 0

トリガー2:問題のポート専用  例えば 22:30~23:30までを監視対象外とする場合
host.item.nodata(600)=0 & host.item.regexp("フィルタ文字列") = 1 & ( host.item.time < 223000 | host.item.time > 233000 )

トリガー判定の段階で、特定ポートに対する文字列が見つかった場合だけ、特定時間帯ならば無視する‥といった具合です

ユーザー sat の写真

お世話になります。

基本的なところを理解できていなくて申し訳ありませんが
トリガー1、トリガー2の中の どの部分にどういった書式で特定ポートを定義するのか教えていただけないでしょうか?

ifName とか ifIndex とか ifDescr とかありますが、これ以外のものを使用するのでしょうか?

よろしくお願いいたします。

ユーザー fripper の写真

zabbix2.0 系で構築されているならば、snmptt を daemon モードで稼働させていて、
snmptt の conf ファイルに [FORMAT ZBXTRAP] 云々みたいな記述を書いてらっしゃるのだと思いますが‥


EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "IF-MIB" Major
FORMAT ZBXTRAP $aA の ifIndex:$1 にて linkDown 検知 ifAdminStatus:$2 ifOperStatus:$3
EVENT linkUp .1.3.6.1.6.3.1.1.5.4 "IF-MIB" Normal
FORMAT ZBXTRAP $aA の ifIndex:$1 にて linkUp 検知 ifAdminStatus:$2 ifOperStatus:$3

こんな設定になっているのではないでしょうか?

この場合ですと、特定ポートを示す文字列は「ifIndex:6」とか「ifIndex:8」とかになるのではないかと思います

ですので、トリガーの定義時に、特定ポート番号(ここでは3番と仮定します)についての条件を書けばいいことになります

・トリガー1(ポート3番以外を対象とするトリガー)に追加する条件
{host:snmptrap[ "IF-MIB" ].regexp(ifIndex:3)}=0
・トリガー2(ポート3番のみを対象とするトリガー)に追加する条件
{host:snmptrap[ "IF-MIB" ].regexp(ifIndex:3)}=1 & ( {host:snmptrap[ "IF-MIB" ].time}<223000 | {host:snmptrap[ "IF-MIB" ].time}>233000 )

これ以上は、既存のアイテム・トリガーの設定や snmptt の設定、飛んでくるトラップの細かな情報、 zabbix のアイテムに記録されている文字列情報など、
ある程度詳細がわからないと説明しきれません