現在、syslogメッセージのフォーマットは以下の2つの標準があります。
- BSD-syslogメッセージ(または、legacy-syslogメッセージとも呼ばれています。)
- IETF-syslogメッセージ
BSD-syslogメッセージフォーマットについては、過去記事「BSD-syslogメッセージフォーマット」で紹介しています。合わせてご覧ください。
今回は、IETF-syslogメッセージフォーマットについてご紹介します。
IETF-syslogメッセージフォーマット(RFC 5424)
IETF-syslogメッセージフォーマットはRFC 5424※で提唱されており、以下の3つの要素で構成されます。- HEADER
- STRUCTURED-DATA
- MSG
※参考: https://tools.ietf.org/html/rfc5424
HEADER
HEADER要素は、さらに以下の要素で構成されます。- LEN
- メッセージサイズを表す数値です。syslog送信アプリケーションにより含まれない場合があります。改行などを含むマルチラインメッセージの場合、メッセージサイズが使用されます。
- PRI
- メッセージのファシリティとセベリティを表す数値です。数値は[ファシリティ * 8 + セベリティ]で計算され、'<'と'>'で囲まれています。詳細については、過去記事「BSD-syslogメッセージフォーマット」をご参照ください。
- VERSION
- syslogプロトコルのバージョン番号です。現在、バージョンは1のみです。
- ISOTIMESTAMP
- メッセージが生成された時間です。ISO 8601フォーマット(yyyy-mm-ddThh:mm:ss+-ZONE)で表されます。
- HOSTNAME
- メッセージの送信元のマシンです。
- APPLICATION
- メッセージを生成したデバイス、またはアプリケーションです。
- PID
- メッセージを送信したアプリケーションのプロセス名、またはプロセスIDです。
- MESSAGEID
- メッセージのID番号です。
STRUCTURED-DATA
STRUCTURED-DATA要素は、syslogメッセージに関するメタ情報、あるいはトラフィックカウンターやIPアドレスのようなアプリケーション固有の情報が含まれます。STRUCTURED-DATAは角かっこ([])で囲まれたデータブロックで構成されます。すべてのブロックにはブロックIDが含まれ、1つ以上の"名前=値"ペアが存在します。STRUCTURED-DATA例:
[exampleSDID@0 iut="3" eventSource="Application" eventID="1011"][examplePriority@0 class="high"]
MSG
MSG要素は、メッセージ自身のテキストが含まれます。MSGで使用される文字コードは、UTF-8を使用してエンコードされたユニコードである必要があります。syslogアプリケーションがMSGをUTF-8でエンコードする場合、文字列はUnicodeのバイトオーダーマーク(BOM)で始まる必要があります。IETF-syslogメッセージは以下のフォーマットになります。
PRIVERSION ISOTIMESTAMP HOSTNAME APPLICATION PID MESSAGEID [STRUCTURED-DATA] MSG
または、メッセージサイズが含まれる場合、以下のフォーマットになります。
LEN PRIVERSION ISOTIMESTAMP HOSTNAME APPLICATION PID MESSAGEID [STRUCTURED-DATA] MSG
IETF-syslogメッセージ例:
<34>1 2003-10-11T22:14:15.003Z mymachine myapplication 1234 ID47 [example@0 class="high"] BOMmyapplication is started
※APPLICATION、PID、MESSAGEID、およびSTRUCTURED-DATAはNULLにすることができます。この場合、ハイフン(-)文字によって置き換えます。
※MSG要素は完全に空欄にすることができます。例えば、MSGのテキストを付けずに、STRUCTURED-DATAのみ送信できます。
メッセージサイズを含む例:
115 <34>1 2003-10-11T22:14:15.003Z mymachine myapplication 1234 ID47 [example@0 class="high"] BOMmyapplication is started
NULLメッセージ例:
<34>1 2003-10-11T22:14:15.003Z mymachine myapplication - - - BOMmyapplication is started
各ログサーバーの製品紹介ページはこちらからご覧ください。