eventlog監視で、特定イベントIDのメール通知が来ないようにしたい
Zabbixの管理担当になり素人なりに頑張ってみましたが、どうにも出来そうにないので質問させてください。
Zabbixのバージョン:Zabbix 2.2.10
監視対象のOS:Windows Server 2012 R2 Standard
■参考にした方の過去質問
http://www.zabbix.jp/node/3724
http://www.zabbix.jp/node/4021
http://www.zabbix.jp/node/1142
■どうしたいか
・Application:System のeventlog監視
・上記で障害が出た場合、メール通知を設定
・eventlogID:A,B(どちらも4桁)でトリガーが引かれた場合、メール通知不要
・ログソースとしてSを設定
■設定
[正規表現:sss]
条件式/条件式の形式/大文字小文字を区別
A/文字列が含まれない/いいえ
B/文字列が含まれない/いいえ
[ユーザー/ユーザーグループ]
エイリアス:test
グループ:testgroup
権限:読書可能
※ユーザーにメール設定済
[メディアタイプ]
名前:mail
タイプ:メール
SMTPサーバー:localhost
SMTP helo:localhost
送信元メールアドレス:zabbix@localhost
[アイテム]
eventlog[System,,Error,S,@sss,,]
[トリガー]
名前:trigger_p
{<ホスト名>:eventlog[System,,Error,S,@sss,,skip].logeventid(0)}=0
[アクション]
実行条件
(A)and(B)
ラベル/名前/アクション
(A)/アプリケーション 含まれる System
(B)/トリガー = <ホスト名>: trigger_p
実行内容
ユーザーにメッセージを送信: test via mail
ユーザーグループにメッセージを送信: testgroup via mail
■質問
。アイテムキー+トリガーの
eventlog[name,,,,,,].logeventid(0)}=0
で、正規表現を
、と.logeventid(0)に正規表現を入れる場合、どんな違いがあるのでしょうか。
初歩的な質問ですいません…。
・アクションが起き無い場合(eventlogのエラーがAやBの場合)、
監視データ>イベント にデータとして残らないのでしょうか?
情報不足であれば追加しますので、アドバイスをよろしくお願い致します。
kaeru - 投稿数: 263
ppp様
前提として[アイテム]と[トリガー]を拝見しました。
まずアイテムのeventlog[System,,Error,S,@sss,,]ですが、
"sss"の正規表現の中身を見てみると
AとBのeventidが含まれない…となっています。
従って、eventidがA及びBのイベントログはアイテムとして収集しません。
次にトリガーを見てみると、
"eventlog[System,,Error,S,@sss,,skip].logeventid(0)}=0"となっており、
文章にするのであれば、
「アイテムで取得したイベントログのIDが0と一致しなければ障害」となっています。
>。アイテムキー+トリガーの
>eventlog[name,,,,,,].logeventid(0)}=0
>で、正規表現を
>、と.logeventid(0)に正規表現を入れる場合、どんな違いがあるのでしょうか。
質問内容が崩れてしまっているように見受けられます。
再度記載をお願いします。
>アクションが起き無い場合(eventlogのエラーがAやBの場合)、
>監視データ>イベント にデータとして残らないのでしょうか?
前提に記載した通り、AとBのイベントIDはアイテムとして収集しておりません。
従って、トリガーで評価もされないため、イベントも発生せず、アクションも動作しません。
(順番的にはアイテム→トリガー→イベント→アクションのイメージで良いと思います。
なので、アクションが起きないからイベントに出ないのではなく、
イベントが無いからアクションが起きないが正です。)
zazabi - 投稿数: 26
kaeru様
コメントありがとうございます。自分なりに修正し、監視データのイベントに考えている通りの反応が出るようになりました。
しかし、アクションでのメール送信だけできなかったです。
ですので、原因だと疑われることがあれば教え頂ければ幸いです。
■修正点
[正規表現:sss]
条件式/条件式の形式/大文字小文字を区別
1206,1196/いずれかの文字列が含まれる (区切り文字=",")/いいえ
[アイテム]
eventlog[System,,Error,S,,,skip]
[トリガー]
eventlog[System,,Error,S,,,skip].logeventid(@sss)}=0
⇒正規表現sss(1206,1196)以外のイベントIDでトリガーを引く。
[アクション]
変更なし
[エラーテスト文]
Write-EventLog -LogName System -Source S -EventID A -EntryType Error -Message "イベントログの書き込みテストです。"
⇒ステータス正常で、メール無
Write-EventLog -LogName System -Source S -EventID C -EntryType Error -Message "イベントログの書き込みテストです。"
⇒ステータス障害で、メール無
■質問(自己解決済)
崩れに気づかぬまま送信してしまい、申し訳ありません。
トリガーの条件式で、下記の2文の違いがよくわかって無かったので質問していました。
現在は分かったので回答不要です。
eventlog[System,,Error,S,,,skip].logeventid(@sss)}=0
eventlog[System,,Error,S,@sss,,skip].logeventid(0)}=0
・アクションが起き無い場合(eventlogのエラーがAやBの場合)、
監視データ>イベント にデータとして残らないのでしょうか?
⇒こちらの質問も解決したので回答不要です。
kaeru - 投稿数: 263
ppp様
イベントが発生した旨、承知しました。
上記のアクションについてですが、アプリケーションに(A)に"Systemが含まれる"を指定しています。
このアプリケーションはeventlogキーに指定している第一引数のname箇所ではありませんが、
ここの認識は大丈夫でしょうか。
(ホストのアイテムページの一番右にある、
各アイテムに任意で設定を行うアプリケーションの項目のことです。)
アイテムのアプリケーション項目に"System"を設定していないのであれば、
アクションの実行条件から削除してください。
zazabi - 投稿数: 26
kaeru様
>上記のアクションについてですが、アプリケーションに(A)に"Systemが含まれる"を指定しています。
>このアプリケーションはeventlogキーに指定している第一引数のname箇所ではありませんが、
>ここの認識は大丈夫でしょうか。
てっきりアイテムのnameの事かと思っていました…。
削除してテストしてみたところ、正常のイベントも届いたので下記のように修正しました。
[アクション]
実行条件
(A)and(B)
ラベル/名前
(A)/トリガーの値 = 障害
(B)/トリガー = <ホスト名>: trigger_p
テストの結果、C(除外イベントID以外=障害)は無事メール通知されました。
そして、Bのエラーテストログを流していた時に監視データにイベントとして通知されていないようでした。
GW明けに今一度全体を見直してみたり自分で調べてみて、また報告させていただこうかと思います。
zazabi - 投稿数: 26
【追記】
無事解決しました。今後他の方が参考にできるようにまとめさせてください。
[正規表現:sss]
条件式/条件式の形式/大文字小文字を区別
1206,1196/いずれかの文字列が含まれる (区切り文字=",")/はい
[アイテム]
※Sはイベントソースとする。
eventlog[System,,Error,S,,,skip]
[トリガー]
{ホスト名:eventlog[System,,Error,S,,,skip].logeventid(@sss)}=0
⇒正規表現sss(1206,1196)以外のイベントIDでトリガーを引く(=障害)。
[アクション]
実行条件
(A)and(B)
ラベル/名前
(A)/トリガーの値 = 障害
(B)/トリガー = <ホスト名>: trigger_p
実行内容
ユーザーにメッセージを送信: test via mail
ユーザーグループにメッセージを送信: testgroup via mail
[エラーテスト文]
※A,Bが除外したいイベントIDで、Cがそれ以外の数字とする。
Write-EventLog -LogName System -Source S -EventID A -EntryType Error -Message "イベントログの書き込みテストです。"
⇒ステータス正常で、メール無
Write-EventLog -LogName System -Source S -EventID B -EntryType Error -Message "イベントログの書き込みテストです。"
⇒ステータス正常で、メール無
Write-EventLog -LogName System -Source S -EventID C -EntryType Error -Message "イベントログの書き込みテストです。"
⇒ステータス障害で、メール有
kaeru様、ご教示ありがとうございました。
kaeru - 投稿数: 263
ppp様
解決したようで良かったです。
ただ、1点気になるのがトリガーの設定です。
対象のトリガーに対して"障害イベントを継続して生成"のチェックをつけているのか言及がありません。
トリガーにnodata等を使用した正常への条件が指定されておらず、
尚且つ、Verが2.2ですと手動クローズ機能が無いので、
トリガーのステータス(障害及び正常)の制御が気になっています。
念のためご確認ください。
zazabi - 投稿数: 26
kaeru様
ご心配ありがとうございます。
>対象のトリガーに対して"障害イベントを継続して生成"のチェックをつけているのか言及がありません。
>トリガーにnodata等を使用した正常への条件が指定されておらず、
>尚且つ、Verが2.2ですと手動クローズ機能が無いので、
>トリガーのステータス(障害及び正常)の制御が気になっています。
>念のためご確認ください。
トリガーは全て"障害イベントを継続して生成"のチェックをつけています。
nodataは使用しない方針で監視をしています。
Zabbixのサーバを管理している人間が少人数なので、お互い障害への対処を随時共有しているような状態です…。