ログ指定回数出力されたらアラート通知

お世話になります。

/var/log/messages内に一定期間内に特定文字列を〇個以上出力されたら検知するようにしたいと思っております。

動作未確認ですが、以下のような書式で実現可能でしょうか。
({サーバ名:log[/var/log/messages,@messages].count(120m,"failed:")}>3)and (({サーバ名:log[/var/log/messages,@messages].nodata(7200)})=0)

上記条件文は2時間以内に"failed:"の文字列が4つ以上出力された場合に検知することを想定しております。
調べた結果"count”関数のやり方しか見つけられませんでした。

また一定期間内に2回連続で検知した場合(例えば3時間以内に2回連続で"failed:"の文字列が出力)に検知できる方法もあれば教えて頂けないでしょうか。
(こちらを実現する方法が見つけることができませんでした)

アドバスを頂けると幸いです。
よろしくお願い致します。

コメント表示オプション

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

書かれているような条件式で、2時間以内に4行以上というようなこ
とは実現できるでしょう。

そのままで良いかどうかは、Zabbixのバージョンが書かれていませ
んし、アイテムの設定や正規表現などの設定内容も情報としてご提
供いただけていないのでわかりません。

2回連続の件も同様に、環境に関する情報がありませんし、正規表
現でフィルタリングされているログのアイテムですので、

 ・フィルタリングされた結果での2連続
 ・フィルタリングされる前での2連続

のどちらを検知されたいのでしょうか?

後者であるならば、正規表現でのフィルタリングを外す必要がある
でしょう。

あと、単純に2連続であることは、最新値と1つ前の値を利用した条
件式として指定することはできると思いますが、3時間以内という
範囲と組み合わせてとなると思いつきません。

ユーザー Rogue の写真

>TNK様

ご回答ありがとうございます。
別途調査を進めたところ動作確認が取れました。
(3時間以内の条件は諦めました)

ご協力ありがとうございました。