syslog 이벤트를 수집할 때 두 개의 로그 파일을 생성하도록 구성 파일을 편집하려면 어떻게 해야 합니까?

syslog 이벤트를 수집할 때 두 개의 로그 파일을 생성하도록 구성 파일을 편집하려면 어떻게 해야 합니까?

동일한 서버 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_logs같은 두 개의 파일을 갖고 싶습니다.

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

또는 다음과 같은 더 복잡한 스타일이 있습니다.레이나 스크립트.

관련 정보