동일한 서버 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
또는 다음과 같은 더 복잡한 스타일이 있습니다.레이나 스크립트.