ログを処理し、問題のあるIPを禁止するためにカスタムPythonスクリプトを使用しています。これは私の行です/etc/rsyslog.conf
:
local0.* action(type="omprog" name="asterisk" binary="/usr/local/sbin/asterisk.py")
私のスクリプトでいくつかのエラーが生成された場合、ログのどこにもエラーは表示されません(ただし、指定された入力でスクリプトを手動で実行するとPythonエラーが表示されます)。
エラーを明示的に別の場所にリダイレクトする必要がありますか?
Debian 10でrsyslog 8.1901を使用しています。
答え1
rsyslogがプログラムを実行すると、stderrはstderrに設定されますが、ジョブパラメータを追加できます。stderr/dev/null
はoutput="/some/file"
stdoutに設定され、その出力はすべて必要に応じてrsyslogによって生成された指定されたファイルに書き込まれます。それ以外の場合は、プログラムでstderrを開く必要があります。