イベントログの過去のエラーが誤検知される
イベントログで過去に通知されたエラーが翌日以降発生していないのに、誤検知されます。
以前通知したApplicationのエラーが、翌日以降に発生したSYSTEMのwarning,errorの通知のタイミングで、
最終的にトリガーにより、ファイルに出力されます(発生したSYSYTEMのメッセージは出力されず)
このような事象は起こりえますでしょうか?
設定は以下になります。
【アイテム①】
名前:Application
タイプ:Zabbixエージェント(アクティブ)
キー:eventlog[Application,,"ERROR|WARNING",,,,skip]
データ型:ログ
【アイテム②】
名前:SYSTEM
タイプ:Zabbixエージェント(アクティブ)
キー:eventlog[system,,"ERROR|WARNING",,,,skip]
データ型:ログ
【トリガー】
名前:eventlog[host:{HOSTNAME}]
条件式:{hangyoun:eventlog[Application,,"ERROR|WARNING",,,,skip].logseverity()}>1 or
{hangyoun:eventlog[system,,"ERROR|WARNING",,,,skip].logseverity()}>1
障害イベントを継続して生成:チェック(有効)
【アクション】
デフォルトのアクション実行ステップの間隔
アクションの実行内容
ステップ 開始:1
終了:1
ステップの間隔:0
実行内容のタイプ:リモートコマンド
ターゲットリスト:現在のホスト
次で実行:Zabbixサーバ
コマンド:/var/tmp/zabbix/tenken.sh "{EVENT.DATE}" "{EVENT.TIME}" "{HOST.NAME}" "{ITEM.NAME}" "{ITEM.LOG.SEVERITY}" "{ITEM.LOG.SOURCE}" "{ITEM.LOG.EVENTID}" "{ITEM.VALUE1}"
※tenken.shの中は単純に受けとった引数をechoでファイルに出力しているだけです。
TNK - 投稿数: 4769
1つのトリガーにApplicationの条件式とSystemの条件式を書かれているからだと思い
ます。
この書き方では、アクションで通知されるメッセージでは、Application側のエラー
なのかSystem側でのエラーであるのかを判別できませんので、それぞれ別のトリガー
を設定してみてください。
System側のエラーでもApplication側のメッセージが通知されるのは、トリガーの
条件式とマクロの対応が、
Application側のアイテムの名前 = {ITEM.NAME1} = {ITEM.NAME}
Application側のアイテムの値 = {ITEM.VALUE1} = {ITEM.VALUE}
System側のアイテムの名前 = {ITEM.NAME2}
System側のアイテムの値 = {ITEM.VALUE2}
となると思いますので、System側のエラーであっても通知されるメッセージの
内容は常にApplication側のものになってしまっているのでしょう。
ご確認ください。
hangyoun - 投稿数: 8
ありがとうございます。
確認してみます。