
다음의 팁을 사용하여 rsyslogd를 통해 haproxy 로깅을 설정했습니다.이 기사, 모든 것이 잘 작동하는 것 같습니다. 로그 파일은 로그 메시지를 가져옵니다.
그러나 haproxy의 모든 로그 메시지는 에도 표시됩니다 /var/log/syslog
. 즉, 서버가 활성화되면 syslog는 haproxy 로그 메시지로 인해 실행되므로 거의 쓸모가 없게 됩니다.
에서 보낸 메시지를 필터링하고 싶습니다 /var/log/syslog
. rsyslogd 문서를 검토한 후 다음과 같이 파일을 변경하려고 했습니다 /etc/rsyslog.d/50-default.conf
.
*.*;auth,authpriv.none;haproxy.none -/var/log/syslog
부분 만 추가했습니다 ;haproxy.none
. rsyslogd를 다시 시작한 후 변경 사항을 되돌릴 때까지 완전히 작동이 중지되었습니다.
내가 도대체 뭘 잘못하고있는 겁니까?
답변1
다른 로그에 들어가지 않도록 다음을 수행할 수도 있습니다.
local0.* -/var/log/haproxy.log
& ~
& ~
나머지 규칙에 대해 위 줄에서 일치하는 내용을 다른 곳에 두지 않는다는 의미입니다 .
답변2
& ~
rsyslogd v7에서는 사용이 더 이상 사용되지 않으며 & stop
대신 사용하는 것이 좋습니다. 이에 대한 자세한 내용은v7호환성 페이지.
omruleset 및 폐기(~) 작업은 더 이상 사용되지 않습니다.
둘 다 계속 작동하지만 더 나은 대안으로 대체되었습니다.
폐기 작업(물결표 문자)은 "stop" RainerScript 지시문으로 대체되었습니다. 더 직관적인 것으로 간주되며 약간 더 나은 성능을 제공합니다.
omruleset 모듈은 "call" RainerScript 지시문으로 대체되었습니다. 호출은 서브루틴과 같은 규칙 세트를 실행할 수 있도록 허용하며 omruleset보다 훨씬 높은 성능을 제공합니다. omruleset은 비동기 대기열에서 실행될 수 있습니다. 이는 원하는 효과보다 더 많은 측면이었으며 call 문에서는 지원되지 않습니다. 해당 효과가 필요한 경우 호출된 규칙 세트 작업을 비동기식으로 실행하여 간단하게 시뮬레이션할 수 있습니다(어쨌든 이를 처리하는 올바른 방법은 무엇입니까).
더 이상 사용되지 않는 모듈은 사용될 때 경고 메시지를 표시합니다. 그들은 해당 구문이 더 이상 사용되지 않으며 대체 명령문으로 사용될 것임을 알려줍니다. 이는 운영에 영향을 미치지 않습니다. 두 모듈 모두 여전히 완전히 작동하며 v7 기간 내에 제거되지 않습니다.
따라서 HAProxy의 경우 다음과 같습니다.
$ more /etc/rsyslog.d/haproxy.conf
local2.* /var/log/haproxy.log
& stop
작동 방식에 관해서는 & stop
rsyslogd에게 이 시점까지 이전에 일치한 규칙과 일치하는 추가 메시지를 삭제하도록 지시합니다. 이 규칙이 조기에 선택되도록 하려면 파일 이름을 /etc/rsyslog.d/haproxy.conf
에서 /etc/rsyslog.d/00-haproxy.conf
.
답변3
알았어, 알아냈어. 내 /etc/rsyslog.d/20-haproxy.conf
모습은 이렇습니다.
$ModLoad imudp
$UDPServerRun 514
local0.* -/var/log/haproxy_0.log
local1.* -/var/log/haproxy_1.log
나는 줄을 50-default.conf
다음과 같이 변경했습니다.
*.*;auth,authpriv,local0,local1.none -/var/log/syslog
그리고 이제는 내가 원하는 일이 이루어지고 있는 것 같습니다.
답변4
나는 파일 순서를 어지럽히는 것을 선호하지 않으므로 대신에 local0.none을 추가합니다..줄 입장. 구성은 다음과 같습니다.
*.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages
local2.* /var/log/haproxy.log
(CentOS 7에서 테스트)
도움이 되었기를 바랍니다!