作業影響により送信される障害アラートを抑止したい

作業影響により送信される障害アラートを抑止したいと考えています。

作業によっては1000件を超える障害アラートが送信されるため対応を検討しています。
ログ監視を取りこぼしが無いように「エラーの文字列が検出されたログを障害とする」のような条件式にしているため大量の障害アラートが発生します。
このような場合にZabbixの検知を抑止する方法はありますでしょうか。
ログ監視でのみ大量発生してしまうのでログ監視のトリガーステータスを無効化にしておくか
トリガーの条件式を変更するぐらいでしょうか?

ご教授よろしく御願いいたします。

-------------サーバー情報(zabbix共通)-------------
zabbixバージョン3.0
サーバーOSCentOS release 7.0
----------------------------------------------------

コメント表示オプション

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

対象のホストのすべてのトリガーの通知を抑止してよいのであれば、
メンテナンス期間の設定を行えばよいと思います。

特定のトリガーのみ抑止するのであれば、書かれているように、ト
リガーを無効にするか、条件式で時間帯の条件を付加するかになる
と思います。

ユーザー fsk の写真

TNK様

ご返信いただきありがとうございます。

メンテナンス機能で抑止できることを検証で確認しました。
ありがとうございます。

ですがホストすべてのトリガーを止めるのは避けたいので、
今回はトリガー無効化で対応したいと思います。

ご教示いただきありがとうございました。

ユーザー fsk の写真

過去の問い合わせですが、関連して追加問い合わせを行わせていただきます。

特定のトリガーのみ作業時のアラートを抑止したいと考え、
作業中は対象のログ監視トリガーを無効に設定をし対応いたしました。
しかし、作業終了後に有効へ再度切り替えると無効化していた時間帯のアラートが発生してしまいます。

①ログ監視トリガーの「log[]」のmodeに「skip」を使用すれば解決しますでしょうか?
 過去のフォーラム問い合わせを確認すると「skip」やメンテナンス設定をしても無効化期間のアラートが発生するとの問い合わせがあるようなので、 
 教えてください。
 検証環境(検証環境はzabbix2.4)で検証した結果はmode「skip」を設定しなくても無効化している間のアラートを再度検知することはありませんでした。
 この結果は正当ではないと考えます。

②無効化している間のアラートを削除することはできますでしょうか?
 ①のような対応でもアラートを抑止できない場合は対象のアラートを削除できないかと考えたのですがそのようなことはできますでしょうか。
 

 

ユーザー TNK の写真

すでにlilith relicさんが回答を書かれていますが、折角書いてい
たので、私も投稿しておきます。

①ログ監視トリガーの「log[]」のmodeに「skip」を使用すれば解決しますでしょうか?

解決しません。

skipで読み飛ばされるのは、アイテムを設定した最初のタイミング
だけであったと思います。
マニュアルにも、「affects only newly created items」(アイテ
ムを新規に作成したときのみに影響)と書かれています。
https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/z...

lilith relicさんの認識で合っていると思います。
エージェントを止めていた間のデータを取得しないという設定では
ありません。

トリガーの条件式にどのように設定されているのかわかりませんが、
特定の文字列を検知した時に障害となるように設定されているので
あれば、作業終了後、以前読み込んだログファイルの続きを読み込
み終わる前にトリガーを有効にしてしまったのでしょう。
そうすると、トリガーが有効になった後で、エージェントから作業
開始以降のログを受信し、その中に障害とみなすログが出力されて
いて、それらが検知されたのだと思います。

作業が終了して、アイテムのデータとしてログファイルの最終行ま
で取得した後で、トリガーを有効にしてみてください。

②無効化している間のアラートを削除することはできますでしょうか?

基本的に発生して検知したイベントやアラートの履歴を削除する方
法は用意されていません。

データベースを直接操作すればできなくはないかもしれませんが、
いくつかのテーブルのレコードを矛盾無く連携させて操作すること
が必要となります。
特定のイベントやアクション履歴だけを削除することに失敗すると、
変な表示がWeb画面上に残ったりするので、お勧めしません。

ユーザー lilith relic の写真

logやlogrtのskipについてですが、
監視アイテム作成時に既にファイルに書かれている内容を読み飛ばす、
だったかと思います。(間違ってたらごめんなさい)

よって①は解決にならないと思います。

②はアラートの抑止がアクションの実行であるならば、
アクションの実行条件などで調整出来そうな気もしますが、
イベントの発生ならば、データ収集の有り無しの設定だったでしょうか。

ユーザー fsk の写真

lilith relic様
TNK様

ご教示いただきありがとうございます。

>①ログ監視トリガーの「log[]」のmodeに「skip」を使用すれば解決しますでしょうか?
skipモードを誤認識していました。
初期設定時に関連する設定だったのですね。
勉強になりました。

>②無効化している間のアラートを削除することはできますでしょうか?
データベースをいじるのは避けたいのでやめておきます。

現在は対象文字列を検知したらすべてアラートを上げる設定にしているので、
アラートを減らすためにも条件式を変えて連続するエラーの場合は時間でまとめる等の対応をしたいと思います。

再度の確認となり申し訳ございませんが、
メンテナンス設定でも設定期間が切れたらその間のアラートが検出されてしまうのでしょうか?
検証では検出されないのですが①の件があるので確認させてください。

よろしくお願いします。

ユーザー TNK の写真

作業時間帯ギリギリにメンテナンス期間を設定していると、トリガ
ーの状態が障害状態のままメンテナンス期間が終了してしまって、
メンテナンス期間が終了したときにアクションが実行されてしまう
場合があります。

作業終了後、少し余裕を持たせてサーバーや機器の動作が安定する
くらいの時間でメンテナンス期間が終了するようにすれば、上記の
問題は発生しにくくなります。
アイテムの監視間隔やトリガーにも依存するので、アイテムの監視
間隔が長い場合は、より長い余裕を持たせる必要があるのでご注意
ください。

ユーザー fsk の写真

TNK様

再度、ご教示ありがとうございます。

メンテナンス設定でも抑止期間のアラートが発生する可能性があるってことですね。
動作が安定する時間が不明であり、監視が止まってしまう期間が長くなってしまうので、
条件式を変える方針にします。

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

ユーザー fsk の写真

改めて問い合わせさせていただきます。

本件を調査しているとTNK様にご教示いただいた通り、
データベースから直接アラートメールを削除する方法を見つけました。

【削除方法】
mysql> delete from alerts where status = '0';
を実行して未送信のものをすべて削除するか、
mysql> update alerts set status = "1" where status="0"
を実行して送信済みに設定する方法があると思います。
参考URL:http://www.zabbix.jp/node/1066
     http://qiita.com/usiusi360/items/4000e455538c966120c7

検証の結果、アラートメールが送信されないことを確認できました。
しかし、データベースの操作になるので懸念事項がないかを確認したいです。

本操作による対応で問題ないかご教示お願いします。

ユーザー TNK の写真

バージョンによっては、その対応で問題ないかもしれませんが、
今後、バージョンアップ後に同じ対応だけで問題がないかは保障
できません。

ユーザー fsk の写真

TNK様

ご教示いただきありがとうございます。

バージョンによって対応できるか不明な点、了解しました。
検証し確認いたします。