web-dev-qa-db-ja.com

Syslogは、ファイルを分離するためのフィルター後もエントリを受信して​​います

リモートデバイスをメインのsyslogファイルではなく別のログファイルに入れようとしています。

リモートデバイスがホストごとに個別のファイルに移動するためのフィルターを作成しましたが、それでもリモートデバイスのログの内容はメインのsyslogに保存されます。 & ~& stopの両方を試しました。

一般的な問題ですが、実用的な答えが見つかりません。 rsyslog 5.8.6(U​​buntu 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ファイルではなく個別のファイルに残るようにするための最良の方法は何ですか。

私が間違っていることについて何か考えはありますか?

1
TimL

両方の条件を別々の行に置きます。
if $ fromhost-ip!= '127.0.0.1' then-?PerHostLog
$ fromhost-ip!= '127.0.0.1'の場合、停止します

0
Aditi Sharma

フィルタが機能している場合は、/ etc/rsyslog.confを編集して、次のスレッドに従って重複を停止できます。

https://serverfault.com/questions/711708/stop-crontab-from-filling-syslog-ubuntu-15-04/717244#717244

0
Ek0n0m1k