ログ監視において、複数のエラー文を出力した際に、複数のアラートを通知したい
お世話になります。
初めて投稿させて頂きます。
ログ監視において、複数のエラー文を出力した際に、
そのエラー文の数だけアラートを通知したいと考えております。
現在、nodata関数の時間指定を1秒に指定することで、暫定的に実現させております。
しかしながら、このトリガー設定ですと、
①1秒以内に連続してエラー文が生成された場合、そのエラー文を取りこぼしてしまう
②エラーを検知した直後にステータスが「正常」に戻るため、障害検知に最適とは言えない
といった問題が発生しております。
トリガー設定で「障害イベントを継続して生成」にチェックを入れることで、
連続してアラートをあげることができると思うのですが、
その場合、30秒ごとにアラートが発生してイベント画面を圧迫してしまうため、
ログ監視には不向きだと考え、チェックは外しております。
複数のエラー文を出力した際に、そのエラー文の数だけアラートを通知し、
なおかつ、検出したすべてのトリガーのステータスを「障害」の状態のままにする
といったことは可能なのでしょうか?
よろしくお願い致します。
============設定情報============
【環境】
Zabbixサーバー:2.4.0
OS:RHEL6.6
Zabbixエージェント:2.4.0
OS:RHEL6.6
【アイテム設定】
タイプ : Zabbixエージェント(アクティブ)
キー : log[/var/log/messages,err|Err|ERR]
更新間隔(秒) :1
ヒストリ保存期間:90
【トリガ設定】
条件式:{Template OS Linux:log[/var/log/messages,err|Err|ERR].iregexp(err|Err|ERR)}#0 and {Template OS Linux:log[/var/log/messages,err|Err|ERR].nodata(1)}=0
障害イベントを継続して生成:なし
深刻度:軽度の障害
TNK - 投稿数: 4769
ログの各行ごとにメールの通知をさせたいのであれば、トリガーの設定内の
「障害イベントを継続して生成」をチェックすることは必須だと思います。
nodata()を利用しないようにして、障害を確認したらコメントを入力するよう
にして、トリガーの画面などでは、フィルターでコメント未入力のみ表示させ
るような対応が考えられます。
お勧めしませんが、トリガーの条件に合致しないような文字列をダミーの
データとしてzabbix_senderでログのアイテムに送る方法もあるかもしれま
せん。
あと、2.4.0では様々なログ系の処理も含め、不具合があるバージョンですので、
最新版にバージョンアップされることをお勧めします。