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の冒頭では、これは単にログファイルの1行を説明するだけではありません(タイムスタンプが最初のエントリではないことに注意してください!)。これは構造化された形式です。直列化転送用のメッセージです。

おすすめ記事