イベントログ監視のトリガーでのフィルターについて
お世話になります。
アイテムで、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 [文字列が含まれない] を登録
うまくフィルターする方法があれば、ご教授ください。
wakaba - 投稿数: 228
広瀬です
アイテム設定に利用されている正規表現マクロと、トリガーに設定されている正規表現マクロを
逆転させてください。
説明しますと、アイテム側にWarning文字列が「含まれないもの」とすれば、そもそもその行自体を
取得しませんから、トリガーの評価にすらなりません<Warningさえあれば、error有ろうと無かろうとって訳です
逆に、Warning以外は全て評価対象なので、トリガー条件として単独で出力されたerror文字列が
有れば「=1」とすれば、ご希望の判定がされるのではないでしょうか?
k2k - 投稿数: 47
広瀬様
ご連絡ありがとうございます。
一度、実施してみます。
karna - 投稿数: 61
除外設定としては、最初のものでできているかと思われます。
トリガーの状態としては、“障害”か“正常”しかありませんので。
最初の質問を見るに、メール等での通知がされての質問かと思われますが、
”障害イベントを継続して生成”かつ、リカバリメッセージの通知を有効にされていると、
Warningが含まれていないメッセージが続くと、その都度problemで通知され、
Warningが含まれるメッセージが書き込まれると、okで通知される
という挙動かと思われます。
(また、この状態なら、Warningが含まれるメッセージが続いた場合は、
トリガーは正常状態のままなので通知がないはずです。)
広瀬さんの設定ですと、今度は、errorが含まれない場合にトリガーが正常に戻るので、
そのタイミングでリカバリメッセージが通知されます。
上記のような挙動で、条件外の時に通知を受けたくないということであれば、アクション設定を分けて、
リカバリメッセージが送られないように設定すればよいかと思われます。
通知設定を分ける方法については、過去ログにあったかと。
簡単に言うと、通知設定を複製して、トリガー名などをキーワードにして、実行条件/除外設定をすれば分けられます。
もし、目的がリカバリメッセージの排除以外でしたら、より具体的な実現内容を書き込んでいただけると、
レスがつくかもしれません。
あと、イベントログ監視ではないですね。
k2k - 投稿数: 47
広瀬さん
ルールを逆に入れ替えて再実施して見ましたが、
Warningのアイテムにてerrorをフィルター(文字列が含まれない)した場合は、結果、【状態】OK はなりました。
karnaさん
ご連絡ありがとうございました。
>上記のような挙動で、条件外の時に通知を受けたくないということであれば、アクション設定を分けて、
>リカバリメッセージが送られないように設定すればよいかと思われます。
了解しました。
Warningとerrorのパターンのエラーの発生率は、ほとんど発生しませんので、OKの場合は、例外として、扱います。
k2k - 投稿数: 47
広瀬さん
大変、失礼しました。ご連絡の形(以下)では、フィルターできました。
アイテム: Warning(文字列が含まれない)
トリガー: error(文字列が含む)
errorのアイテムがベースとしてあるため、こちらをふくめて、errorとWarningのログ監視を
調整します。
ありがとうございました。