rsyslog:一致するログイベントに対してスクリプトを実行する

rsyslog:一致するログイベントに対してスクリプトを実行する

私の中には次の行があります/etc/rsyslog.conf

:programname, contains, "suhosin" /var/log/suhosin.log

すべてのPHPセキュリティ関連のイベントを/var/log/suhosin.logaction.shどうすればいいですか?

答え1

あなたはomrogを探しています。

module(load="omprog")
action(type="omprog"
       binary="/pathto/omprog.py --parm1=\"value 1\" --parm2=\"value2\"
       template="RSYSLOG_TraditionalFileFormat")

詳しくはマニュアルをご覧ください。 http://www.rsyslog.com/doc/v8-stable/configuration/modules/omprog.html

答え2

メッセージに「hellothere」が含まれている場合、次のコマンドは「hi.bash」を実行します。

:msg, regex, "hellothere" ^/usr/local/bin/hi.bash

文書によると、完了するのを待つので、動作してもイベントが失われると推測されます。

テンプレートパラメータを送信する方法がありますが、まだ使用していません。

答え3

おそらく、次のようなものを使用する必要があります。http://www.logcheck.org/合格よりもrsyslog

答え4

保護者は、各ログメッセージに対してスクリプトを実行できます。はいphp.ini:

suhosin.log.script=255
suhosin.log.script.name=/usr/local/bin/action.sh

ドキュメントでは、「スクリプトは2つの引数として呼び出されます。最初の引数は文字列表現の警告クラス、2番目の引数はログメッセージです」

関連情報