Product SiteDocumentation Site

9.5. syslog システムイベント

9.5.1. 原理とメカニズム

rsyslogd デーモンはアプリケーションおよびカーネルからのサービスメッセージの収集を担当し、サービスメッセージをログファイル (通常 /var/log/ ディレクトリに保存されます) に配送します。rsyslogd デーモンは /etc/rsyslog.conf ファイルの設定に従います。
各ログメッセージはアプリケーションサブシステム (文書中では「facility」と呼ばれます) に関連付けられます。
  • authauthpriv。このサブシステムに関連付けられたメッセージは、認証に関連するものです。
  • cron。このサブシステムに関連付けられたメッセージは、タスクスケジューリングサービスからのメッセージ、cronatd に関連するものです。
  • 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。この優先順位を持つメッセージは、システムがデバッグメッセージを発していることを示しています。

9.5.2. 設定ファイル

/etc/rsyslog.conf ファイルの構文は rsyslog.conf(5) マニュアルページで詳しく説明されています。しかし、rsyslog-doc パッケージから提供される HTML 文書 (/usr/share/doc/rsyslog-doc/html/index.html) も利用できます。全般的な原則は「セレクタ」と「アクション」の組を書くことです。セレクタはすべての関連するメッセージを定義し、アクションはそれらのメッセージをどのように取り扱うかを定義します。

9.5.2.1. セレクタの構文

セレクタは subsystem.priority の組からなるセミコロン区切りリストです (たとえば auth.notice;mail.info などです)。アスタリスクはすべてのサブシステムまたはすべての優先順位を表します (たとえば *.alertmail.* などのように使います)。コンマで区切れば複数のサブシステムをグループ化することが可能です (たとえば auth,mail.info などのように使います)。優先度は同じかより高い優先度を持つメッセージを意味しています。このため auth.alertalert および emerg 優先度を持つ auth サブシステムメッセージを表現します。優先度の前に感嘆符 (!) を付けると否定を表します。言い換えれば、その優先度より低い優先度です。このため auth.!noticeauth から発行された info および debug 優先度を持つメッセージを表現します。優先度の前に等号 (=) を付けると、その優先度だけを表します (auth.=noticeauth から発行された notice 優先度を持つメッセージを表現します)。
セレクタリスト内の各要素は前の要素を上書きします。このため、セレクタリストからある組を制限したり、ある要素を除外することが可能です。たとえば、kern.info;kern.!err はカーネルの発行した infowarn の間の優先度を持つメッセージを意味します。none 優先度は空の組 (優先度を持たない) を意味します。これはあるサブシステムをメッセージの組から除外するのに役立つかもしれません。そんなわけで、*.crit;kern.none はカーネルの発行した crit 以上の優先度を持つメッセージを意味します。

9.5.2.2. アクションの構文

さまざまなアクションが利用できます。
  • ファイルにメッセージを追記します (たとえば /var/log/messages などのように指定します)。
  • メッセージをリモートの syslog サーバに送信します (たとえば @log.falcot.com などのように指定します)。
  • 既存の名前付きパイプにメッセージを送信します (たとえば |/dev/xconsole などのように指定します)。
  • ログイン中の 1 人かそれ以上のユーザにメッセージを送信します (たとえば root,rhertzog などのように指定します)。
  • ログイン中の全ユーザにメッセージを送信します (たとえば * などのように指定します)。
  • テキストコンソールにメッセージを書き込みます (たとえば /dev/tty8 などのように指定します)。