Rsyslog를 사용하여 호스트 이름 및 타임스탬프별로 들어오는 로그 메시지를 정렬하는 방법은 무엇입니까?

Rsyslog를 사용하여 호스트 이름 및 타임스탬프별로 들어오는 로그 메시지를 정렬하는 방법은 무엇입니까?

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"

관련 정보