조건이 포함된 특정 로그만 전달하는 구문

조건이 포함된 특정 로그만 전달하는 구문

특정 키워드가 포함된 경우에만 로그를 전달해야 합니다. rsyslog.conf에 다음 줄을 추가하여 이 작업을 수행했습니다.

:msg, !contains, "xyz" ~

이 경우는 로그에 "xyz" 이외의 다른 내용이 포함되어 있으면 전달하지 않는다는 뜻이라는 것을 알고 있습니다. 하지만 로그를 완전히 삭제하고 로컬 시스템 로그에 인쇄하지도 않는다는 의미입니다. 모든 경우에 대한 로그를 작성하고 특정 키워드에 대한 로그만 전달하는 간단한 구문을 누군가 나에게 제공할 수 있습니까? 나는 매우 감사하게 될 것입니다.

답변1

글쎄, 나는 그것을 스스로 알아 냈습니다. 이 표현을 추가해야 합니다. 너무 단순한게 아쉽네요.

if $msg contains 'xyz'
then @@xxx.xx.xx.xxx:518

이는 항상 로컬 시스템 로그에 기록되지만 로그에 "xyz"라는 단어가 포함된 경우 원격 시스템에만 기록됩니다.

관련 정보