メッセージ転送失敗に関する情報を送信するように簡易イベントコレレータ(SEC)を設定する方法

メッセージ転送失敗に関する情報を送信するように簡易イベントコレレータ(SEC)を設定する方法

マイログファイルには、次の3つのログエントリが含まれています。

2017-11-16 15:50:45 1eFLV7-0003so-Cd <= <> R=1eFLV7-0003sZ-4v U=Debian-exim P=local S=1853 T="Mail delivery failed: returning message to sender" from <>
2017-11-16 15:50:45 1eFLV7-0003so-Cd => [email protected] R=dnslookup T=remote_smtp H=smtp-51.xxx.com [xxx.xx.xx.xx] X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128
2017-11-16 15:50:45 1eFLV7-0003so-Cd Completed

「メール配信に失敗しました*」が表示されたときにメールを受け取りたいです。[Eメール保護]「というメッセージがログファイルに表示されます。

この目標をどのように達成できますか?

たぶんSEC - Simple Event Correlatorは役に立ちますか?

しかし、以下の設定(モード)は私には合いません。

type=SingleWithThreshold
ptype=RegExp
pattern=Mail delivery failed: returning message to sender*[email protected]
desc=Problem with mail [email protected]
action=pipe '%s' /usr/bin/mail -s 'ERROR SEND MAIL' [email protected]
window=1
thresh=1

ベストアンサー1

*を使用しており、SingleWithThreshold*が両方の行に一致することを望んでいますが、そうではありません。努力するPair

(テストされていない)のようなもの、

type=Pair
ptype=RegExp
pattern=Mail delivery failed: returning message to sender
ptype2=RegExp
[email protected]
desc2=Problem with mail [email protected]
action2=pipe '%s' /usr/bin/mail -s 'ERROR SEND MAIL' [email protected]
window=1

何を試しても、改行文字で区切られた2行のテキストがあるという事実に対処する必要があります。多くのテキスト処理ツールは個々の行で機能し、アスタリスク文字は次の行をチェックしてこの問題を解決できません。

おすすめ記事