IETF-syslog(RFC 5424)メッセージフォーマット

現在、syslogメッセージのフォーマットは以下の2つの標準があります。

  • BSD-syslogメッセージ(または、legacy-syslogメッセージとも呼ばれています。)
  • IETF-syslogメッセージ

BSD-syslogメッセージフォーマットについては、「BSD-syslog(RFC 3164)メッセージフォーマット」をご覧ください。

今回は、後者の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(RFC 3164)メッセージフォーマット」をご参照ください。
VERSIONsyslogプロトコルのバージョン番号です。
現在、バージョンは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

各ログサーバーの製品紹介ページはこちらからご覧ください。

お問い合わせ

こんな記事も読まれています

最新記事

おすすめ記事

  1. 産業スパイを発見し、防ぐ方法とは

  2. Flexible NetFlowとは?を5分で理解する

  3. WinSyslog 使い方ガイド#2 受信時刻とデバイスタイムスタンプ両方を出力する

製品カテゴリー

JTC IT用語集
TOP