Zabbix3.4 シスログ監視について(rhel)
フォーラムへの投稿は初めてとなります。
よろしくお願い致します。
▼目的
Zabbix-agentを使用した、シスログ(/var/log/messages)監視による異常検知。
▼やりたいこと
シスログに出力されるプライオリティ値(err)を監視対象文字とし、
監視対象文字(err)が検出されたら即座にメール通知をする。
また、1度検知した文章は、2重通知しないようにする。
さらに、障害が手動クローズされるまで、30分に1回メール通知をし続ける。
▼問題点( 括弧「」は、シスログに出力されるメッセージを想定しています。 )
「err XXXXX」を検出した後に、
「err ZZZZZ」が検出されると、
「err XXXXX」のメール通知が止まってしまい、
「err ZZZZZ」だけが30分に1回通知され続ける。
▼対応した事
トリガーの「障害イベント生成モード」を「複数」にする。
▼上記対応した事による問題
最初に検知した障害について、問題なく30分に1回メール通知がされるようになった。
しかし、1度検知した文章の抑止ができず、同じ文章があがるたびにメール通知がされる。
⇒「1度検知した文章は、2重通知しないようにする。」の要件が満たせない。
▼環境
・Zabbix-server
バージョン:3.4.7-1.el7
導入サーバのOS:rhel 7.0
・Zabbix-agent
バージョン:3.4.6-1.el5
導入サーバのOS:rhel 5.5
▼各設定値
・正規表現
名前:message
条件①:「err」が含まれる。
・アイテム
名前:syslog
キー:log[/var/log/messages,,,,skip]
データ型:ログ
更新間隔:30s
・トリガー
名前:err_syslog
条件式:({ホスト名:log[/var/log/messages,,,,skip].regexp(@err_message)}=1)
・アクション
名前:err_syslog
条件①:メンテナンスの状態 期間外 メンテナンス
条件②: トリガー名 含まれる err_syslog
デフォルトのアクション実行ステップの間隔:1800s
実行内容の詳細のステップの間隔:1800s
▼その他記載事項
nodata関数を使用して、監視抑止をしようと思いましたが、ログとの相性が悪いのか、上手くいきませんでした。
正規表現を使う理由につきましては、監視除外文字列の追加が簡単に行えるため、使用しております。(今後のため)
お手数おかけしますが、ご教授の程お願い致します。
TNK - 投稿数: 4768
ログの内容が異なっていても、同じトリガーで検出されたものは、
1つの障害として取り扱われます。
異なるログを分離して別の障害として管理されたいのであれば、
トリガーを分けてみてはいかがでしょうか?
zabeginner - 投稿数: 3
TKN様
ご回答ありがとうございます。
今回、シスログのプライオリティ値を元に、一元的に監視をしたいと考えております。
しかし、Zabbixの仕様上、質問の用件を満たす事は難しいという事でしょうか?
お手数おかけいたしますが、ご回答の程よろしくお願い致します。
TNK - 投稿数: 4768
繰り返しになると思いますが、「err XXXXX」と「err ZZZZZ」を別
の障害として取り扱いたいのであれば、トリガーを分ける必要があり
ます。
zabeginner - 投稿数: 3
TKN様
ご回答ありがとうございます。
今のZabbixでは、要件を満たす事ができない旨、承知致しました。
今回質問した内容の問題点は、Zabbixの仕様とし、このまま運用をしていこうと思います。
また、1点別件で確認したい事があります。
アクションのステップを1-1に設定した上で、指定した時間(例えば、月~金の朝9時)に、
ダッシュボード上の未解決障害を、再通知するような設定は存在しますでしょうか?
※新たにシスログ上に出力された「err」文字列を、検知・通知できないことは承知しております。