イベントログ監視のトリガーでのフィルターについて

お世話になります。

アイテムで、errorを収集して、トリガーにて、Warningをフィルターしていますが
errorのみは、【状態】PROBLEM で問題ないですが errorとWarningの場合は、【状態】OKで、検知します。
実施したいことは、ログ監視で、errorとWarningがあった場合は、検知しない様にフィルターにしたいです。

zabbixServer:2.2.6 agent:2.2.6

 アイテム:(タイプ:Activeチェック、更新間隔:1秒間隔、データ型:ログ)
 キー:log[[/var/lib/mysql/server-a.err,@err2_error,,,,]

 正規表現: @err2_error には、error [文字列が含まれる] で登録

トリガー:

 {server-A:log[[/var/lib/mysql/server-a.err,@err2_error,,,,].regexp(@error_Warning_ng)}=1

 正規表現: @error_Warning_ng には Warning  [文字列が含まれない]  を登録

うまくフィルターする方法があれば、ご教授ください。

コメント表示オプション

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

広瀬です

アイテム設定に利用されている正規表現マクロと、トリガーに設定されている正規表現マクロを
逆転させてください。

説明しますと、アイテム側にWarning文字列が「含まれないもの」とすれば、そもそもその行自体を
取得しませんから、トリガーの評価にすらなりません<Warningさえあれば、error有ろうと無かろうとって訳です

逆に、Warning以外は全て評価対象なので、トリガー条件として単独で出力されたerror文字列が
有れば「=1」とすれば、ご希望の判定がされるのではないでしょうか?

ユーザー k2k の写真

広瀬様

ご連絡ありがとうございます。
一度、実施してみます。

ユーザー karna の写真

除外設定としては、最初のものでできているかと思われます。
トリガーの状態としては、“障害”か“正常”しかありませんので。

最初の質問を見るに、メール等での通知がされての質問かと思われますが、
”障害イベントを継続して生成”かつ、リカバリメッセージの通知を有効にされていると、

 Warningが含まれていないメッセージが続くと、その都度problemで通知され、
 Warningが含まれるメッセージが書き込まれると、okで通知される

という挙動かと思われます。

(また、この状態なら、Warningが含まれるメッセージが続いた場合は、
 トリガーは正常状態のままなので通知がないはずです。)

広瀬さんの設定ですと、今度は、errorが含まれない場合にトリガーが正常に戻るので、
そのタイミングでリカバリメッセージが通知されます。

上記のような挙動で、条件外の時に通知を受けたくないということであれば、アクション設定を分けて、
リカバリメッセージが送られないように設定すればよいかと思われます。

通知設定を分ける方法については、過去ログにあったかと。
簡単に言うと、通知設定を複製して、トリガー名などをキーワードにして、実行条件/除外設定をすれば分けられます。

もし、目的がリカバリメッセージの排除以外でしたら、より具体的な実現内容を書き込んでいただけると、
レスがつくかもしれません。

あと、イベントログ監視ではないですね。

ユーザー k2k の写真

広瀬さん

ルールを逆に入れ替えて再実施して見ましたが、
Warningのアイテムにてerrorをフィルター(文字列が含まれない)した場合は、結果、【状態】OK はなりました。

karnaさん

ご連絡ありがとうございました。

>上記のような挙動で、条件外の時に通知を受けたくないということであれば、アクション設定を分けて、
>リカバリメッセージが送られないように設定すればよいかと思われます。

了解しました。
Warningとerrorのパターンのエラーの発生率は、ほとんど発生しませんので、OKの場合は、例外として、扱います。

ユーザー k2k の写真

広瀬さん

大変、失礼しました。ご連絡の形(以下)では、フィルターできました。

アイテム: Warning(文字列が含まれない)
トリガー:  error(文字列が含む)

errorのアイテムがベースとしてあるため、こちらをふくめて、errorとWarningのログ監視を
調整します。

ありがとうございました。