rsyslogd
デーモンはアプリケーションおよびカーネルからのサービスメッセージの収集を担当し、サービスメッセージをログファイルに配送します (通常 /var/log/
ディレクトリに保存します)。rsyslogd
デーモンは /etc/rsyslog.conf
ファイルの設定に従います。
各ログメッセージはアプリケーションサブシステム (文書中では「facility」と呼ばれます) に関連付けられます。
auth
と authpriv
。認証に関連するメッセージです。
cron
。タスクスケジューリングサービスである cron
と atd
から受け取ったメッセージです。
daemon
。特に分類されていないデーモン (DNS、NTP など) から受け取ったメッセージです。
ftp
。FTP サーバから受け取ったメッセージです。
kern
。カーネルから受け取ったメッセージです。
lpr
。印刷サブシステムから受け取ったメッセージです。
mail
。電子メールサブシステムから受け取ったメッセージです。
news
。Usenet サブシステム (特にニュースグループを管理する NNTP (Network News Transfer Protocol) サーバ) から受け取ったメッセージです。
syslog
。syslogd
サーバ (自分) から受け取ったメッセージです。
user
。ユーザメッセージ (一般的なメッセージ) に関連するメッセージです。
uucp
。UUCP (Unix to Unix Copy Program、とりわけ昔は電子メールメッセージの配送に使われていた古いプロトコル) サーバから受け取ったメッセージです。
local0
から local7
。ローカル利用向けに予約されているサブシステムから受け取ったメッセージです。
さらに各メッセージは優先度と関連付けられます。以下は優先度の高い順に挙げたリストです。
emerg
。システムが「助けてください!」と言っていることを示しています。これは非常事態で、おそらくシステムが不安定になっていることを示しています。
alert
。システムが大至急対応を必要としており、遅れると危険な状態になることを示しています。この場合、すぐに何らかの措置を講じてください。
crit
。システムが危機的状態に陥っていることを示しています。
err
。システムにエラーが発生していることを示しています。
warn
。システムが警告 (潜在的エラー) を発していることを示しています。
notice
。システムが正常な状態とは言うものの、重要なメッセージを発していることを示しています。
info
。システムが有益なメッセージを発していることを示しています。
debug
。システムがデバッグメッセージを発していることを示しています。
The syntax of the /etc/rsyslog.conf
file is detailed in the rsyslog.conf(5) manual page, but there is also HTML documentation available in the rsyslog-doc package (/usr/share/doc/rsyslog-doc/html/index.html
). The overall principle is to write “selector” and “action” pairs. The selector defines all relevant messages, and the action describes how to deal with them.
セレクタは subsystem.priority
の組からなるセミコロン区切りリストです (たとえば auth.notice;mail.info
などです)。アスタリスクはすべてのサブシステムまたはすべての優先度を表します (たとえば *.alert
、mail.*
などのように使います)。コンマで区切れば複数のサブシステムをグループ化することが可能です (たとえば auth,mail.info
などのように使います)。優先度は指定した優先度と同じかより高い優先度を持つメッセージを意味しています。このため auth.alert
は alert
および emerg
優先度を持つ auth
サブシステムメッセージを表現します。優先度の前に感嘆符 (!) を付けると否定を表します。言い換えれば、その優先度より低い優先度です。このため auth.!notice
は auth
サブシステムメッセージの内 info
および debug
優先度を持つメッセージを表現します。優先度の前に等号 (=) を付けると、指定した優先度だけを表します (auth.=notice
は auth
サブシステムメッセージの内 notice
優先度を持つメッセージを表現します)。
セレクタリスト内の各要素は前の要素を上書きします。このため、セレクタリストからある組を制限したり、特定の要素だけを除外することが可能です。たとえば、kern.info;kern.!err
はカーネルから受け取った info
以上 warn
以下の優先度を持つメッセージを意味します。none
優先度は空の組を意味し (優先度を指定しないことを意味し)、あるサブシステムだけをメッセージの組から除外するのに役立つかもしれません。そんなわけで、*.crit;kern.none
はカーネルから受け取った crit
以上の優先度を持つメッセージを意味します。
以下に指定できるさまざまなアクションを挙げます。
ファイルにメッセージを追記します (たとえば /var/log/messages
などのように指定します)。
メッセージをリモートの syslog
サーバに送信します (たとえば @log.falcot.com
などのように指定します)。
既存の名前付きパイプにメッセージを送信します (たとえば |/dev/xconsole
などのように指定します)。
ログイン中の個人または複数人のユーザにメッセージを送信します (たとえば root,rhertzog
などのように指定します)。
ログイン中の全ユーザにメッセージを送信します (たとえば *
などのように指定します)。
テキストコンソールにメッセージを書き込みます (たとえば /dev/tty8
などのように指定します)。