
원격 서버에 로그를 보내려면 다음 Rsyslog 구성이 있습니다. 문제는 원격 서버에 많은 정보 메시지를 보내는 데 그 소음을 원하지 않는다는 것입니다. 모든 심각도 로그는 보내지만 정보는 보내지 않도록 필터를 구성하려고 합니다.
# Ansible managed
$WorkDirectory /var/spool/rsyslog
$template RFC3164fmt,"<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%"
# Log shipment rsyslog target servers
$ActionQueueFileName ostack-log-01_rsyslog_container-04cb9e3a
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount 250
local7.* @172.28.1.205:514;RFC3164fmt
이것이 내가 성공하지 못한 일입니다.
local7.*;local7.!=info @172.28.1.205:514;RFC3164fmt
내 운영 체제는 Centos7.5 Linux입니다.
답변1
이것이 여기서 일어나는 일입니다. 내 syslog 메시지에는 INFO
로그가 표시되지만 tcpdump에서는 syslog 심각도가 표시되는 것을 발견했습니다. notice
이것이 바로 혼란입니다.
local7.*;local7.!=notice;local7.!=info @172.28.1.205:514;RFC3164fmt
logger
가짜 로그를 생성하는 도구를 사용하여 이 규칙을 테스트하는 방법은 다음과 같습니다.
logger -p 'local7.info' 'This is info logs, Reject it'
logger -p 'local7.notice' 'This is notice logs, Reject it'
logger -p 'local7.error' 'This is error logs and Accept it'
답변2
아직 수행하지 않은 경우 필터로 업데이트한 후 rsyslog 서비스를 다시 시작해야 할 수도 있습니다.
rsyslog.conf 파일을 업데이트한 후 rsyslog 서비스를 다시 시작하십시오.
# service rsyslog restart # CentOS/RHEL 6
# systemctl restart rsyslog