rsyslog 構成ファイルには次の行があります。
*.*;auth,daemon,kern,user -/dev/logi
期待どおりに行われましたが、iptablesログの一部を別のファイルに送信したいので、rsyslog.confファイルに次のものを追加しました。
:msg,contains,"IPTABLES:" /var/log/iptables
& stop
/dev/fw デバイスを作成しましたが、ファイルの新しい内容をデバイスに送信する方法がわかりません。それを行う方法はありますか?
答え1
ついに解決策を見つけました。
これはシステム起動時に作成したfifoデバイスです。
LOG_DEV=/dev/logi
if [ ! -r $LOG_DEV ]; then
mkfifo $LOG_DEV
chmod 640 $LOG_DEV
chown root:morfik $LOG_DEV
fi
/etc/init.d/rsyslog
私はファイルに追加しました。
そのデバイスを使用すると、ファイルに次の行を配置してすべてのログを送信できます/etc/rsyslog.conf
。
*.* -/dev/logi
これはルールセクションの最初の行なので、すべてのログがその行に移動して、設定ファイル内の他のルールを処理し続けます。ファイルの次の規則は次のとおりです。
:msg,contains,"IPTABLES:" /var/log/iptables
& stop
iptables ログを特定のファイルに送信します。これを実行すると、rsyslogはフレーズを含むエントリの処理のみを停止しますIPTABLES:
。次の規則は、rsyslog 構成ファイルの一般的な規則です。
だから私は欲しいものを手に入れました。すべてのログはfifoデバイスに送信され、iptablesエントリ用の別々のログファイルです。