rsyslog를 사용하여 한 번에 여러 메시지를 삭제하는 방법은 무엇입니까? 이것은 작동하지 않으며 실제 예제를 찾을 수 없습니다.
# Do not log any keepass and chmomium messages
if $programname == 'chromium.desktop' then /dev/null
if $programname == 'keepass2.desktop' then /dev/null
& stop
아래 해결 방법은 작동하지만 확인할 때 오류가 표시됩니다.rsyslogd -N1 -f <config_file>
rsyslogd: version 8.4.2, config validation run (level 1), master config /etc/rsyslog.d/00-discard.conf
rsyslogd: CONFIG ERROR: there are no active actions configured. Inputs will run, but no output whatsoever is created. [try http://www.rsyslog.com/e/2103 ]
rsyslogd: run failed with error -2103 (see rsyslog.h or try http://www.rsyslog.com/e/2103 to learn what that number means)
답변1
이 줄은 & stop
"이전 선택기 반복"을 의미하고 "중지" 작업을 수행하여 선택한 메시지의 추가 처리를 중지합니다. 따라서 if ...
각 선택 줄 뒤에 넣어야 합니다 . 그러나 작업이 writing 중이므로 /dev/null
첫 번째 줄에서 원하는 작업을 수행하도록 할 수도 있습니다.
if $programname == 'chromium.desktop' then stop
if $programname == 'keepass2.desktop' then stop
답변2
메시지를 삭제하는 또 다른 방법은 다음과 같습니다.불필요한 메시지를 삭제하세요
예제에서처럼 "msg" 속성 대신 "programname" 속성을 확인하세요.
:programname, contains, "chromium.desktop" ~
:programname, contains, "keepass2.desktop" ~