
【Linux】rsyslogの設定ファイルの書式
rsyslogの設定ファイルは、/etc/rsyslog.confファイルに記述されます。このファイルには、rsyslogdというデーモンがログをどこに送るかを割り振る設定が含まれています。rsyslogdは、システムやアプリケーションから受信したログメッセージを処理し、設定に従って適切な場所に出力します。
rsyslogの仕組み
- 設定ファイルの読み込みと起動
rsyslogdは起動時に/etc/rsyslog.confファイルを読み込み、設定に基づいて動作を開始します。 - 通知メッセージの受信
rsyslogdには、様々なイベントから通知メッセージが届きます。
メッセージには、何がいつ発生したのか、どれくらい重要なのか、といった情報が含まれています。 - ファシリティとプライオリティ
ファシリティ:メッセージの送信元を表します。
プライオリティ:メッセージの重要度を表します。 - アクションの決定
事前に読み込んだ設定とこれらの情報を基に、ログメッセージをファイルに保存、ターミナル(端末)へ出力、ネットワーク越しのサーバーに転送するかを決定します。

主なファシリティの種類と説明
| ファシリティ | 説明 |
|---|---|
| auth | 認証関連のメッセージ |
| authpriv | 認証情報のプライベートメッセージ |
| cron | cronデーモンからのメッセージ |
| daemon | 各種デーモンからのメッセージ |
| kern | カーネルからのメッセージ |
| メールシステムからのメッセージ | |
| syslog | syslogd内部からのメッセージ |
| user | ユーザーからのメッセージ |
| local0〜local7 | ローカルユーザー定義のメッセージ |
| * | すべてのファシリティ |
プライオリティの種類
プライオリティは、指定したレベル以上のメッセージが収集されます。「none」と「*」は特殊なプライオリティです。例えば、プライオリティに「crit」と指定した場合、「crit,err,‥‥debug」のメッセージが収集されます。
| レベル | プライオリティ | 説明 |
|---|---|---|
| 0 | emerg | 緊急。システムが使用不可能。 |
| 1 | alert | すぐに対処が必要。 |
| 2 | crit | 重要な状態。 |
| 3 | err | エラー状態。 |
| 4 | warn | 警告状態。 |
| 5 | notice | 通知。正常だが重要な条件。 |
| 6 | info | 情報。正常な動作の情報。 |
| 7 | debug | デバッグレベルのメッセージ。 |
| - | none | 何もログに記録しない。 |
| - | * | すべてのレベルのメッセージ。 |
auth.alertと設定した場合
auth.alertと設定すると、認証関連のメッセージで、プライオリティがalert以上の重要度のメッセージが収集されます。この設定により、すぐに対処が必要な認証エラーなどを迅速に検知できます。
アクションの種類と記述例
| アクション | 記述例 | 説明 |
|---|---|---|
| ファイル名 | /var/log/messages | 指定したファイルにログを保存。 |
| ユーザー名 | root | 指定したユーザーにログを送信。 |
| @ホスト名 | @remotehost | 指定したホストにUDPでログを転送。 |
| @@ホスト名 | @@remotehost | 指定したホストにTCPでログを転送。 |
| /dev/console | /dev/console | コンソールにログを出力。 |
| * | * | すべてのユーザーにログを送信。 |
/etc/rsyslog.confの記述の仕方

/etc/rsyslog.confファイルには、ファシリティとプライオリティを指定して、ログメッセージをどのように処理するかを記述します。
/etc/rsyslog.confの記述例
*.info;mail.none;authpriv.none;cron.none /var/log/messages各フィールドの意味
| フィールド | 説明 |
|---|---|
* | すべてのファシリティ |
.info | infoレベル以上のメッセージ |
; | 区切り記号 |
mail.none | mailファシリティのメッセージを除外 |
authpriv.none | authprivファシリティのメッセージを除外 |
cron.none | cronファシリティのメッセージを除外 |
/var/log/messages | ログを保存するファイル |
「;」(セミコロン)記号の後に続く「ファシリティ.none」は、例外を表し、特定のファシリティを除外します。
まとめ
rsyslogの設定ファイル/etc/rsyslog.confは、ログの送信先や保存先を決定する重要な役割を持ちます。ファシリティとプライオリティを使って、どのメッセージをどのように処理するかを細かく設定できます。rsyslogはsyslogの拡張版として、より高い信頼性と多機能性を提供し、現代のシステム管理において主流となっています。
