BSD-syslog(RFC 3164) メッセージフォーマット
転送時の syslog メッセージは分離可能な3つの要素で構成されます。
それぞれPRI、HEADER、MSGと呼ばれます。
全長は1024バイト以内です。
メッセージフォーマットの3つの要素
1. PRI
3、4または5文字であり、はじめは”<“、終わりが”>”です。
コードは8ビットフィールドの7ビットASCIIが使用されます。
これらは”USA Standard Code for Information Interchange”として定義されています。
かぎ括弧の間の数はプライオリティでありファシリティとセベリティをあらわします。
プライオリティは0から9までの1,2又は3桁の10進数です。
ファシリティとセベリティは10進数の数字コードです。
いくつかのOSやデーモンにはにはファシリティがアサインされています。
明示的にアサインされていない場合は”local user”ファシリティや”user level”ファシリティをアサインすることができます。
これらのファシリティとセベリティは下の表に示します。
プライオリティ値=ファシリティx8 + セベリティです。
つまりセベリティがEmergency(セベリティ=0)のカーネルメッセージ(ファシリティ=0)のプライオリティは0です。
local user4(ファシリティ=20)のNotice(セベリティ=5)メッセージは165です。
SyslogメッセージのPRIはそれぞれ<0>と<165>となります。
数字コード | ファシリティ |
---|---|
0 | kernel messages |
1 | user-level messages |
2 | mail system |
3 | system daemons |
4 | security/authorization messages |
5 | messages generated internally by syslogd |
6 | line printer subsystem |
7 | network news subsystem |
8 | UUCP subsystem |
9 | clock daemon |
10 | security/authorization messages |
11 | FTP daemon |
12 | NTP subsystem |
13 | log audit |
14 | log alert |
15 | clock daemon |
16 | local use 0 (local0) |
17 | local use 1 (local1) |
18 | local use 2 (local2) |
19 | local use 3 (local3) |
20 | local use 4 (local4) |
21 | local use 5 (local5) |
22 | local use 6 (local6) |
23 | local use 7 (local7) |
数字コード | セベリティ |
---|---|
0 | Emergency: system is unusable |
1 | Alert: action must be taken immediately |
2 | Critical: critical conditions |
3 | Error: error conditions |
4 | Warning: warning conditions |
5 | Notice: normal but significant condition |
6 | Informational: informational messages |
7 | Debug: debug-level messages |
2. HEADER
タイムスタンプとホスト名あるいはデバイスIPアドレスを含みます。必ず印刷可能文字です。PRIと同じく8ビットフィールドの7ビットASCIIが使用されます。
TIMESTAMPはPRIの”>”に続きます。
TAIMESTAMPとHOSTNAMEのあとはひとつのスペースです。
HOSTNAMEはホスト名あるいはIPアドレスです。TIMESTAMPはローカル時刻でフォーマットは”Mmm dd hh:mm:ss”です。Mmmは英語3文字の月であり先頭が大文字、それ以降は小文字です。
ddは日で10未満はスペース+数字です。8月7日は”Aug 7″でgと7の間にはスペースが2つあります。
“hh”は24時間表示の時間であり00から24、”mm”と”ss”は00から59までの分と秒です。
TIMESTAMPのあとはひとつのスペースです。
HOSTNAMEはホスト名、IPv4アドレス、IPv6アドレスのいずれかです。
HOSTNAMEのあとはひとつのスペースです。
3. MSG
Syslogパケットの残りでありテキストメッセージで追加情報を含みます。
終了区切りはありません。
印字可能文字でなければなりません。
文字セットは受信者を考慮できます。
受信者が読めない文字では意味がありません。
MSGにはTAGとCONTENTの2つのフィールドがあります。
TAGフィールドの値はメッセージを生成したプログラムやプロセス名、CONTENTにはメッセージの詳細が含まれます。
TAGは32文字以内であり、英数字以外はTAGフィールドの終わりを示します。
通常は ”[“, ”:”, ” “ などが使われます。
例
<34>Oct 11 22:14:15 mymachine su: ‘su root’ failed for lonvick on /dev/pts/8
出典:
https://datatracker.ietf.org/doc/html/rfc3164#section-4.1.1