リモートデバイスをメインのsyslogファイルではなく別のログファイルに入れようとしています。
リモートデバイスがホストごとに個別のファイルに移動するためのフィルターを作成しましたが、それでもリモートデバイスのログの内容はメインのsyslogに保存されます。 & ~
と& stop
の両方を試しました。
一般的な問題ですが、実用的な答えが見つかりません。 rsyslog 5.8.6(Ubuntu 12 LTS)
/etc/rsyslog.d/20-external.conf
:
$template PerHostLog,"/var/log/external/%HOSTNAME%.log"
if $fromhost-ip != '127.0.0.1' then -?PerHostLog
#& ~
& stop
リモートロギングを有効にするための/etc/rsyslog.conf
の変更を除いて、他のすべてのファイルは同じです。
ホストごとの私のファイルには内容がありますが、それらはまだメインのsyslogファイルに入っています。
構成またはフィルターを調整して、syslogファイルではなく個別のファイルに残るようにするための最良の方法は何ですか。
私が間違っていることについて何か考えはありますか?
両方の条件を別々の行に置きます。
if $ fromhost-ip!= '127.0.0.1' then-?PerHostLog
$ fromhost-ip!= '127.0.0.1'の場合、停止します
フィルタが機能している場合は、/ etc/rsyslog.confを編集して、次のスレッドに従って重複を停止できます。
https://serverfault.com/questions/711708/stop-crontab-from-filling-syslog-ubuntu-15-04/717244#717244