メッセージ転送失敗に関する情報を送信するように簡易イベントコレレータ(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行のテキストがあるという事実に対処する必要があります。多くのテキスト処理ツールは個々の行で機能し、アスタリスク文字は次の行をチェックしてこの問題を解決できません。

答え2

私が理解したのは、同じ入力ファイルで発生した2つの連続した行を一致させることです。この場合、最も簡単な解決策はRegExp2モードを使用することです。実際、SECは特別なコマンドラインスイッチなしで常に複数行モードで実行され、パターンに一致する行数は "ptype"キーワードによって設定されます。以下は役に立ついくつかの規則です。

type=Single
ptype=RegExp2
pattern=Mail delivery failed: returning message to sender.*\n.*admins@xxx\.com
desc=Problem with mail [email protected]
action=pipe '%s' /usr/bin/mail -s 'ERROR SEND MAIL' [email protected]

この規則では、「RegExp2」は「連続した2行に一致する正規表現」を意味します。デフォルトでは、これらの行は次のようになります。同じファイルですが、--jointbufコマンドラインオプションはこの制限を無効にします。しかし、一般的な状況ではいいえ複数行のマッチングのためにすべてのソースからのイベントを同じ入力バッファに入れるため、このオプションを使用しようとしますが、イベントの順序は定義されていません。

上記の例の規則で正規表現も確認してください。

Mail delivery failed: returning message to sender.*\n.*admins@xxx\.com

.*はデフォルトでは改行と一致しないため、式では\ nを使用して改行と一致させます。

最後に、SECに関する追加の質問がある場合はメーリングリスト(https://sourceforge.net/p/simple-evcorr/mailman/simple-evcorr-users/)、経験豊富なユーザーがたくさんフォローしており、同様の質問にタイムリーに答えることができるからです。

ありがとう、リスト

関連情報