Rsyslog - localhost가 두 번 로깅하는 것을 방지합니다.

Rsyslog - localhost가 두 번 로깅하는 것을 방지합니다.

rsyslog.conf에서 원격 로깅을 활성화했습니다.

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

그런 다음 /etc/rsyslog.d/devices.conf에 나는

$template RemoteLogs,"/var/log/devices/%HOSTNAME%.log" 
*.*  ?RemoteLogs

로컬 시스템(rsyslog 서버)이 해당 이벤트를 관련 /var/log/filename뿐만 아니라 /etc/log/devices/pi.log에도 기록한다는 것을 발견했습니다.

로컬 호스트(pi라고 함)에 대한 /etc/log/devices/ 로그인을 어떻게 방지합니까?

감사해요

답변1

입력을 지정할 때 적용할 규칙 집합도 지정하세요. 규칙 세트 외부의 입력은 규칙 세트에 의해 처리되지 않으며 그 반대의 경우도 마찬가지입니다.

module(load="imudp")
input(type="imudp" port="514" ruleset="remote")
ruleset(name="remote"){
 $template RemoteLogs,"/var/log/devices/%HOSTNAME%.log" 
 *.*  ?RemoteLogs
}

답변2

규칙 세트 솔루션이 나에게 적합하지 않습니다. 모든 메시지는 여전히 /var/log/messages에 나타납니다. 그러나 이 솔루션은 나에게 효과적이었습니다. 기본적으로 이 줄은 특정 호스트의 모든 메시지를 필터링합니다.

:hostname, contains, "myhostname"  ~

관련 정보