/var/log/syslog에서 haproxy 로그 메시지를 유지하는 방법

/var/log/syslog에서 haproxy 로그 메시지를 유지하는 방법

다음의 팁을 사용하여 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

작동 방식에 관해서는 & stoprsyslogd에게 이 시점까지 이전에 일치한 규칙과 일치하는 추가 메시지를 삭제하도록 지시합니다. 이 규칙이 조기에 선택되도록 하려면 파일 이름을 /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에서 테스트)

도움이 되었기를 바랍니다!

관련 정보