特定のタグのsyslogをフィルターし、このタグを特定のファイルに出力するrsyslogd構成ファイルを作成したいと思います。
/etc/rsyslog.d
の下にルールファイルを作成します
# Log kernel generated UFW log messages to file
:syslogtag, isequal, "ABC" /var/log/ABC.log
# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated UFW log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
#& ~
ファイルは作成されますが、ABCタグ付きのメッセージは引き続きsyslog
ファイルに送られます。どうすれば正しくできますか?
ルールファイルは次のようになります。
:syslogtag, isequal, "ABC:" /var/log/ABC.log
Syslogtagには:
が含まれており、""
で囲む必要があります。
また、ファイル名はアルファベット順に50-default.conf
の前になければなりません(たとえば、30-ABC.conf
)。
ファイル/var/log/ABC.log
は、syslogユーザーが書き込み可能である必要があることに注意してください。
ソース: タグごとにrsyslogメッセージをファイラーする方法 。