忍者ブログ
ネットワーク系エンジニアのTips。 便利ツールや検証中の小技を書きます。 最近はXML、SNMP、Syslog、WebService、Perlといろいろ。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

仕事でSyslogのRFCを読まねばならなくなった。
今あるSyslogのRFCは
RFC3164 The BSD syslog Protocol
RFC3195 Reliable Delivery for syslog
の2つだが、とりあえずフォーマットについて勉強したいため、先にRFC3164を読んでみる。
以下、自分の必要なところのみ意訳したもの。ところどころ飛んでるので注意。
ご意見あればコメント下さい。

----------
4. Packet Format and Contens
(中略、というか最後の部分のみ)
Section4.1ではSyslogの、あくまで推奨とするフォーマットについて記述します。Section4.2では、originalのSyslog Messageとして必要な項目、Section4.3ではrelayされるSyslog Messageに必要な点について記述します。

4.1 Syslog Message Parts
Syslog Messageは3つのパートからなります。1番目はPRI、2番目はHEADER、3番目はMSGです。パケット長は1024byte以下とします。最低のパケット長というのは特にありませんが、何も中身のないSyslogは送信すべきではありません。

4.2 PRI Part
PRIは3~5文字で、最初と最後を<>でくくります。ここでは"<"はRFC2234に基づきABNF %d60、">"は%d62とします。<>の中に入っている数字はPriorityを意味し、FacilityおよびSeverityのレベルを表します。
FacilityもSeverityもそれぞれのメッセージは10進数のコードを持っています。以下の表を参照してください。

 Numerical         Facility     Code

0 kernel messages
1 user-level messages
2 mail system
3 system daemons
4 security/authorization messages (note 1)
5 messages generated internally by syslogd
6 line printer subsystem
7 network news subsystem
8 UUCP subsystem
9 clock daemon (note 2)
10 security/authorization messages (note 1)
11 FTP daemon
12 NTP subsystem
13 log audit (note 1)
14 log alert (note 1)
15 clock daemon (note 2)
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)

Numerical Severity Code
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

このPriorityの値は、Facility Numberに8を掛け、Severityの値を足すことによって求められます。例えば、Local use 4(Facility=20)でSeverityがNotice(Severity=5)の場合は、20×8+5で165となります。
(以下略)

4.1.2 HEADER Part of a syslog Packet
HEADER部分はタイムスタンプと(syslogを上げた)host名またはそのIPアドレスが入ります。
(中略)
つまり、HEADER部分はTIMESTAMPフィールドとHOSTNAMEフィールドに分けられます。TIMESTAMPはPRI部分の最後となる">"のすぐ後ろから始まります。TIMESTAMPフィールドとHOSTNAMEフィールドの間は1スペース空けます。HOSTNAMEは、デバイスにHOSTNAMEを振られていなければIPアドレスが入ります。IPアドレスが複数ある場合は、Syslog Messageを送出するInterfaceのアドレスが入れるのがよくあるパターンですが、とはいえ、逆に、どのインターフェースからsyslogが出て行くかとは関係なくSrcアドレスを1つ、別に決めたいという場合もあるでしょう。その時はSrcとして設定したいアドレスをHOSTNAMEフィールドに入れればいいでしょう。

TIMESTAMPフィールドのフォーマットはMmm dd hh:mm:ssとします。
MmmはJan,Feb,Mar....といった感じで、アルファベット3つで月を表し、ddのところは日を入れます。一桁の日にちの場合(1日~9日)の場合は、Aug[space][space]7のように、07とするのではなくて、空いた一桁のところをスペースにします。
hh:mm:ssはLocal timeで24時間制で入れます。

HOSTNAMEの部分は、hostnameか、IPv4アドレス、またはIPv6アドレスのどれかを入れます。Hostname入れるのがいいと思いますが、Hostname使うなら、STD13(RFC1034)に準拠させてください。Spaceはいれないこと。
IPv4アドレスの場合はSTD13(RFC1035)に、IPv6アドレスの場合はRFC2373に従ってください。
HOSTNAMEフィールドの後には、1spaceいれて下さい。
----------
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
» ...
Oh, its great!
Online poker URL 2009/02/02(Mon)17:53:51 編集
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
最新CM
[09/03 管理者]
[09/03 mitsumata]
[04/25 Kiora]
[02/02 Online poker]
最新記事
最新TB
プロフィール
HN:
Fabian
性別:
非公開
職業:
会社員
自己紹介:
外資系メーカのSE。
Layer4~7の装置を扱っています。
バーコード
カウンター
読んでる本
Web Services勉強用。
フリーエリア

Copyright © [ Technology Supremacist ] All rights reserved.
Special Template : 忍者ブログ de テンプレート
Special Thanks : 忍者ブログ
Commercial message : [PR]