로그를 rsyslog 서버로 전달하는 라우터가 있고 타임스탬프를 로컬 타임스탬프로 바꾸도록 rsyslog 서버를 구성하려고 합니다. 메시지 형식은 다음과 같습니다.
Jan 1 00:00:47 192.168.1.254 kernel: br0: port 1(eth0) entered forwarding state
이 라우터(192.168.1.254)에서 오는 모든 메시지에 대해 이를 수행하는 가장 좋은 방법은 무엇입니까?
답변1
이를 처리하는 가장 쉬운 방법은 이미 사용하고 있는 템플릿의 복사본인 템플릿을 작성하고 timestamp
해당 속성을 변경하는 것입니다 timegenerated
. 예를 들어, 파일에 쓰고 기본값을 사용한다고 가정합니다.RSYSLOG_TraditionalFileFormat
주형myFileFormat
, 그런 다음 IP 주소를 생성하고 테스트하고 일치 규칙을 입력할 수 있습니다. 이전 형식에서 규칙은 로그 파일 이름과 ;
템플릿 이름을 차례로 사용합니다.
template(name="myFileFormat" type="string" string="%timegenerated% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp% %msg:::drop-last-lf%\n")
if $fromhost-ip == "192.168.1.254" then {
*.* /my/logfile;myFileFormat
stop
}