【Linux】rsyslogの設定ファイルの書式

 rsyslogの設定ファイルは、/etc/rsyslog.confファイルに記述されます。このファイルには、rsyslogdというデーモンがログをどこに送るかを割り振る設定が含まれています。rsyslogdは、システムやアプリケーションから受信したログメッセージを処理し、設定に従って適切な場所に出力します。

rsyslogの仕組み

  • 設定ファイルの読み込みと起動
    rsyslogdは起動時に/etc/rsyslog.confファイルを読み込み、設定に基づいて動作を開始します。
  • 通知メッセージの受信
    rsyslogdには、様々なイベントから通知メッセージが届きます。
    メッセージには、何がいつ発生したのか、どれくらい重要なのか、といった情報が含まれています。
  • ファシリティとプライオリティ
    ファシリティ:メッセージの送信元を表します。
    プライオリティ:メッセージの重要度を表します。
  • アクションの決定
     事前に読み込んだ設定とこれらの情報を基に、ログメッセージをファイルに保存、ターミナル(端末)へ出力、ネットワーク越しのサーバーに転送するかを決定します。

主なファシリティの種類と説明

ファシリティ説明
auth認証関連のメッセージ
authpriv認証情報のプライベートメッセージ
croncronデーモンからのメッセージ
daemon各種デーモンからのメッセージ
kernカーネルからのメッセージ
mailメールシステムからのメッセージ
syslogsyslogd内部からのメッセージ
userユーザーからのメッセージ
local0〜local7ローカルユーザー定義のメッセージ
*すべてのファシリティ
主なファシリティの種類と説明

プライオリティの種類

 プライオリティは、指定したレベル以上のメッセージが収集されます。「none」と「*」は特殊なプライオリティです。例えば、プライオリティに「crit」と指定した場合、「crit,err,‥‥debug」のメッセージが収集されます。

レベルプライオリティ説明
0emerg緊急。システムが使用不可能。
1alertすぐに対処が必要。
2crit重要な状態。
3errエラー状態。
4warn警告状態。
5notice通知。正常だが重要な条件。
6info情報。正常な動作の情報。
7debugデバッグレベルのメッセージ。
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

各フィールドの意味

フィールド説明
*すべてのファシリティ
.infoinfoレベル以上のメッセージ
;区切り記号
mail.nonemailファシリティのメッセージを除外
authpriv.noneauthprivファシリティのメッセージを除外
cron.nonecronファシリティのメッセージを除外
/var/log/messagesログを保存するファイル
各フィールドの意味

 「;」(セミコロン)記号の後に続く「ファシリティ.none」は、例外を表し、特定のファシリティを除外します。

まとめ

 rsyslogの設定ファイル/etc/rsyslog.confは、ログの送信先や保存先を決定する重要な役割を持ちます。ファシリティとプライオリティを使って、どのメッセージをどのように処理するかを細かく設定できます。rsyslogはsyslogの拡張版として、より高い信頼性と多機能性を提供し、現代のシステム管理において主流となっています。