Rsyslog에서 캡처한 수신 로그를 로그의 호스트 이름과 타임스탬프별로 정렬한 사람이 있는지 궁금합니다.
지금은 호스트 이름별로 Rsyslog 정렬 메시지를 적절한 폴더로 이동한 다음 Logrotate를 매일로 설정했습니다. 내 관심사는 전날의 타임스탬프가 있는 로그 회전 후에 로그가 들어오는 경우입니다. 모든 서버 시간이 동기화되지 않았기 때문에 로그를 검색해야 하고 파일 이름이 내부 로그의 날짜와 100% 정확하지 않은 경우 이로 인해 약간의 혼란이 발생할 수 있다고 생각했습니다.
도움이 필요하세요?
건배
답변1
시간을 동기화하기 위해 ntp를 사용하고 있는지 확인하십시오. 메시지 속성 변수를 사용하지 않으려면 메시지 내 타임스탬프, 메시지가 로컬 시스템에서 수신되었을 때의 타임스탬프와 같은 메시지 또는 연결 정보에서 파생된 항목입니다. , 메시지의 호스트 이름, 메시지를 로컬 상자에 전달한 시스템의 호스트 이름/IP, PRI 정보 등. rsyslog 버전 5 이하에서는 이러한 변수가 사용 가능한 유일한 변수였습니다.
따라서 이 문제가 발생하지 않도록 하려면 타임스탬프 대신 수신 시간 변수를 사용해 보십시오.
> $template TEMPLATE_NAME,"%timegenerated:::date-rfc3339% %fromhost% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"