Linux syslog 파일이 RFC3339 프로토콜을 따르지 않는 이유는 무엇입니까?

Linux syslog 파일이 RFC3339 프로토콜을 따르지 않는 이유는 무엇입니까?

Linux syslog 파일: /var/log/syslog가 프로토콜에 정의된 타임스탬프 형식을 따르지 않는 이유https://www.rfc-editor.org/rfc/rfc5424#page-11?

답변1

RFC 5424(syslog 프로토콜을 지정하고 타임스탬프에 대해 RFC 3339 참조)에서"1. 소개":

이 문서는 syslog의 표준 형식을 설명합니다.정보
전송 매핑의 개념에 대한 개요를 제공합니다 . 또한 구문 분석하기 쉽고 공급업체가 이를 확장할 수 있는 구조화된 정보를
전송하는 데 사용할 수 있는 구조화된 데이터 요소에 대해 설명합니다.


이 문서에서는 시스템 로그 메시지의 저장 형식을 설명하지 않습니다 . 이는 syslog 프로토콜의 범위를 벗어나며
시스템 상호 운용성에 필요하지 않습니다.

정보이것이 가리키는 것은무엇을 녹음할까요?대신에로그 레코드의 형식입니다. 즉, 로그는 메시지가 아니며 RFC는 로그가 아닌 메시지에 관한 것입니다.

당신이 보는 것은 /var/log/syslog"저장 형식" 메시지입니다. 형식은 특정 syslog를 구성하는 방법에 따라 다르며 서문에 명시된 대로 적어도 "시스템 상호 운용성"에 관한 한 어떤 프로토콜도 실제로 필요하지 않습니다.

Syslog 데몬은 여러 시스템에 대한 로거 역할을 할 수 있습니다. RFC는 어떤 특정 구현이 사용되는지 등에 관계없이 호환 시스템이 원격 syslog에 기록할 수 있도록 표준을 설정하기 위한 것입니다.

이러한 메시지를 수신하는 syslog 데몬은 해당 메시지를 파일에 기록하지만 그대로 기록하지는 않습니다. 구성에 따라 기록합니다. RFC를 자세히 살펴보면 RFC를 /var/log/syslog준수하지 않는 영역이 매우 많다는 것을 알 수 있습니다. 보세요ABNF섹션 6의 시작 부분에서 이는 단순히 로그 파일의 한 줄을 설명하는 것 이상입니다(타임스탬프가 첫 번째 항목이 아니라는 점에 유의하세요!). 이것은 구조화된 형식입니다.직렬화전송을 위한 메시지입니다.

관련 정보