トリガー条件式 除外条件が機能しません
お世話になっております。
Zabbix 4.0.21を利用しています。
CloudWatchLogsの中から以下の条件を満たすログがあった場合に検知する
トリガー(条件式)を作ろうとしています。
検知する文字列:aaaa
除外する文字列:bbbb
ホスト名:test-host
アイテム名:test-item
{test-host:test-item[].regrexp{aaaa}=1 and {test-host:test-item[].regrexp{bbbb}=0)
ログに「aaaa」が含まれるときに検知されるのはよいのですが、
除外してほしい「bbbb」が含まれるときも検知されてしまいます。
どのように修正すれば「bbbb」が除外され検知されないようになるでしょうか?
以上よろしくお願いいたします。
insigts2021 - 投稿数: 31
たびたび申し訳ございません。
以下の通り条件を簡単にして試しました。
「aaaa」が含まれるログは拾わない想定ですが、拾ってしまいます。
{test-host:test-item[].regrexp{aaaa}=0
以下の通り1にすれば拾うので、式自体は間違っていないはずですが除外ができません。
{test-host:test-item[].regrexp{aaaa}=1
以上よろしくお願いいたします。
Yasumi - 投稿数: 380
設定に対する考え方が誤っています。
regrexp(aaaa)=0は、アラート検知しないという内容を意味しません。
「aaaa」ではない場合に検知、という設定です。
除外式を作るのであれば、管理⇒一般設定⇒正規表現から、
グローバル正規表現を作成して、アイテムかトリガーに組み込んでください。
※今回の例だと「test-item」はオリジナルのアイテムなため、トリガーの時点での除外になりますが、アイテム時点での除外は考慮していますか?
・正規表現の例
LOG_REGEXP
aaaa 文字列を含む
bbbb 文字列を含まない
・トリガー例
{test-host:test-item[].iregrexp(@LOG_REGEXP)=1
・正常イベントの生成:条件式
・障害イベント生成モード:複数
・ログ監視トリガーを多数発報させたくない場合は下記にしてください
{test-host:test-item[].iregrexp(@LOG_REGEXP)=1 and {test-host:test-item[].nodata(300)}=0
・正常イベントの生成:条件式
・障害イベント生成モード:単一
insigts2021 - 投稿数: 31
Yasumiさん
ありがとうございます。
>「aaaa」ではない場合に検知、という設定です。
なるほど、そういうことですか。
>アイテム時点での除外は考慮していますか?
今のところ想定しておりません。
ところで、「iregexp」は大文字・小文字を無視するということではないのでしょうか?
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/triggers/fun...
以上よろしくお願いいたします。
Yasumi - 投稿数: 380
「iregexp」は認識の通りです。
insigts2021 - 投稿数: 31
ありがとうございます。