rsyslog
2008/7/25更新
対応バージョン: 3.18.1
rsyslog.confには多くの設定項目があるが、ここでは主なものを説明する。
その他については公式サイトを参照のこと。
タイムスタンプフォーマット
ログファイルに記録されるタイムスタンプのフォーマットを指定する。
フォーマット指定
$ActionFileDefaultTemplate <フォーマット><フォーマット>
RSYSLOG_TraditionalFileFormat (デフォルト)
Mon DD hh:mm:ss
例)
Jul 22 20:29:41 host1 kernel: imklog 3.16.1, log source = /proc/kmsg started. Jul 22 20:29:41 host1 rsyslogd: [origin software="rsyslogd" swVersion="3.16.1" x-pid="29223" x-info="http://www.rsyslog.com"] restart
RSYSLOG_FileFormat
YYYY-MM-DDThh:mm:ss+zz:zz
例)
2008-07-22T20:31:52+09:00 host1 kernel: imklog 3.16.1, log source = /proc/kmsg started. 2008-07-22T20:31:52.524907+09:00 host1 rsyslogd: [origin software="rsyslogd" swVersion="3.16.1" x-pid="29386" x-info="http://www.rsyslog.com"] restart
RSYSLOG_TraditionalForwardFormat
Mon DD hh:mm:ss
1メッセージにつき「
例)
<6>Jul 22 20:53:27 host1 kernel: imklog 3.16.1, log source = /proc/kmsg started.<46>Jul 22 20:53:27 host1 rsyslogd: [origin software="rsyslogd" swVersion="3.16.1" x-pid="30770" x-info="http://www.rsyslog.com"] restart
RSYSLOG_ForwardFormat
YYYY-MM-DDThh:mm:ss+zz:zz
メッセージの出力方式はRSYSLOG_TraditionalForwardFormatと同様。
例)
<6>2008-07-22T20:58:26+09:00 host1 kernel: imklog 3.16.1, log source = /proc/kmsg started.<46>2008-07-22T20:58:26.304455+09:00 host1 rsyslogd: [origin software="rsyslogd" swVersion="3.16.1" x-pid="31142" x-info="http://www.rsyslog.com"] restart
RSYSLOG_SyslogProtocol23Format
v YYYY-MM-DDThh:mm:ss+zz:zz
IETF syslog Working Groupのdraft-ietf-syslog-sign-23.txt準拠。
http://rfc.netvolante.jp/internet-drafts/draft-ietf-syslog-sign-23.txt
例)
<6>1 2008-07-22T21:08:37+09:00 host1 kernel - - - imklog 3.16.1, log source = /proc/kmsg started. <46>1 2008-07-22T21:08:37.746155+09:00 host1 rsyslogd - - - [origin software="rsyslogd" swVersion="3.16.1" x-pid="31840" x-info="http://www.rsyslog.com"] restart
リモート転送時の設定
ログをリモートホストにTCP転送する際に転送先ホストがダウンしていた場合のローカル側のスプール設定を行う。
スプールディレクトリ
$WorkDirectory <ディレクトリ>
キューファイルのプレフィックス
$ActionQueueFileName <プレフィックス>
例)
$ActionQueueFileName queue
上記の場合、実際のファイル名は「queue.00000001」「queue.00000002」...となる。
スプールディレクトリの最大ディスク容量
1g,1mなど、容量を表す単位とともに指定する。デフォルトは10m。0で無制限。
$ActionQueueMaxDiskSpace <サイズ>
シャットダウン時にメッセージをディスクに保存するか
デフォルトはoff。
$ActionQueueSaveOnShutdown <on|off>
キューの管理方式
キューの管理方式を以下の種類から指定する。
$ActionQueueType <FixedArray|LinkedList|Direct|Disk>
FixedArray
FixedArray方式でキューを管理する。あらかじめポインタの配列を確保するのでメモリは使用するが、CPUへの負荷が低いのでログが大量に発生しない場合は良好なパフォーマンスが得られる。
LinkedList
LinkedList方式でキューを管理する。FixedArray方式と比べるとCPUへの負荷が高いものの大量のキューが発生する場合にはメモリの節約になる。
Direct
キューをスプールディレクトリに保存せずにすぐにリモートホストに転送する(デフォルト)。
Disk
キューをいったんスプールディレクトリに保存した後に順次リモートホストに転送する。
リモートホストがダウンしている場合のリトライ回数
デフォルトは0。-1でリトライしない。
$ActionResumeRetryCount <回数>
モジュール組み込み
必要な機能をモジュールとして組み込む。
モジュール指定
$ModLoad <モジュール><モジュール>
imuxsock.so
UNIXソケットを使用した通常のローカルログを出力可能にする。
(*) loggerコマンドでログを出力する場合もこのモジュールを必要とする。
imklog.so
カーネルログを出力可能にする。
immark.so
「--MARK--」を出力可能にする。
imtcp.so
リモートからのTCP接続を受け付ける。
待ち受けポートと一緒に指定する。
例)
$ModLoad imtcp.so $InputTCPServerRun 514
imudp.so
リモートからのUDP接続を受け付ける。
待ち受けポートと一緒に指定する。
例)
$ModLoad imudp.so $UDPServerRun 514