syslogイベントを収集するときに2つのログファイルを生成するように設定ファイルを編集するにはどうすればよいですか?

syslogイベントを収集するときに2つのログファイルを生成するように設定ファイルを編集するにはどうすればよいですか?

私は同じサーバー10.10.10.10でsyslogを介してメールメッセージログとアンプログを私のRHEL7サーバーに送信しています。 rsyslogを実行しており、次の設定ファイルがあります。

maillog.conf

$template NetworkLog, "/var/log/mail_logs/mail_logs.log"
:fromhost-ip, isequal, "10.10.10.10" -?NetworkLog
& ~

そして私メールログ.log良い:

Oct 16 10:58:01 server.com mail_mess_logs: Info: Begin Logfile
Oct 16 10:58:01 server.com mail_mess_logs: Info: Version: 0.0.0 SN:...
Oct 16 10:58:01 server.com mail_mess_logs: Info: Time offset from UTC: -14400 seconds
Oct 16 10:58:02 server.com amp_logs: Info: Begin Logfile
Oct 16 10:58:02 server.com amp_logs: Info: Version: 0.0.0 SN:...
Oct 16 10:58:02 server.com amp_logs: Info: Time offset from UTC: -14400 seconds

私はそれらを分けて、mail_mess_logs次のamp_logs2つのファイルが欲しいです。

mail_mess_logs.log

Oct 16 10:58:01 server.com mail_mess_logs: Info: Begin Logfile
Oct 16 10:58:01 server.com mail_mess_logs: Info: Version: 0.0.0 SN:...
Oct 16 10:58:01 server.com mail_mess_logs: Info: Time offset from UTC: -14400 seconds

amp_logs.log

Oct 16 10:58:02 server.com amp_logs: Info: Begin Logfile
Oct 16 10:58:02 server.com amp_logs: Info: Version: 0.0.0 SN:...
Oct 16 10:58:02 server.com amp_logs: Info: Time offset from UTC: -14400 seconds

どうすればいいですか?

ベストアンサー1

より古く、より基本的なものを使用しています。フィルターrsyslog でサポートされるスタイル。少し古いスタイルを使用すると、演算子を含む式を使用できます and。これ財産 programnameロープを持っている必要があります"mail_mess_logs"。だからあなたはできます

if $fromhost-ip=="10.10.10.10" and $programname=="mail_mess_logs" then -/var/log/mail_logs/mail_mess_logs.log
if $fromhost-ip=="10.10.10.10" and $programname=="amp_logs" then -/var/log/mail_logs/amp_logs.log

または、次のようなより複雑なスタイルがあります。レイナスクリプト

おすすめ記事