syslog は、多くの Unix 系システムで使われるメッセージモデルとトランスポートの規約を定義します。rsyslog はその実装の一つで、メッセージの受信、filter、変換、保存、転送を行えます。systemd-journald と共存する場合があり、どちらの名前も、全アプリケーションがその経路を使うことを意味しません。
ロギング · レッスン 2
syslog
syslog の facility、severity、routing rule、logger コマンドの仕組みを学びます。
Facility と Severity
syslog メッセージは、発生元の大まかな分類を表す facility と、emergency から debug までの severity を持ちます。代表的な facility には auth、cron、daemon、kern、mail、user、local0 から local7 があります。
severity には順序があります。従来の selector 構文では、daemon.warning は通常 warning だけでなく、それ以上に重大な daemon メッセージすべてに一致します。従来構文に対応する実装では、daemon.=warning のように equals modifier を使うと完全一致になります。
従来の daemon.warning という selector は通常何に一致しますか?
rsyslog のルールを読む
rsyslog は一般に、main file と /etc/rsyslog.d/ 以下の snippet を読み込みます。従来の rule は selector の後に action が続きます。
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
kern.* /var/log/kern.log
最初の行は二つの authentication facility の全 priority を route します。二番目は広くメッセージを選択し、それらの facility を除外します。三番目は kernel facility のメッセージを route します。file action の先頭 - は通常 asynchronous write を要求し、除外を意味しません。
production routing を変える前に、include される全ファイルを確認し、インストール済みバージョンが使う正確な構文を検証してください。
従来の rsyslog rule で action に当たるのはどれですか?
テストメッセージを送る
logger を使い、識別可能な tag と priority を持つ管理されたテストを送ります。
$ logger -p user.notice -t lesson-test 'routing check 2026-08-31T10:00'
次に、想定する宛先を問い合わせます。
$ journalctl -t lesson-test --since '5 minutes ago'
forwarding と routing の設定によっては、同じイベントが journal と text file の両方に現れます。logger -s はメッセージを標準エラーにもコピーしますが、永続保存の証明にはなりません。
logger -t lesson-test は送信メッセージへ何を追加しますか?
Routing を変更して検証する
変更前に現在の設定を保存し、下流の consumer を特定します。実装の configuration-check mode で構文を検証します。一般的な例は次のとおりです。
$ sudo rsyslogd -N1
検証後にだけ、service manager からサービスを reload します。新しい tag 付きメッセージを送り、必要な全宛先を確認し、サービス状態と内部エラーログを調べます。構文上有効でも、広すぎる route、レコード重複、機密データ露出を起こす rule はあります。
信頼できないネットワークをログが横断する場合、remote forwarding には認証・暗号化された transport を使います。UDP 配送にはエンドツーエンドの acknowledgement がありません。重要な audit 要件には、queue、loss、integrity、access control、receiver outage を考慮した設計が必要です。
新しい routing rule が機能する十分な証拠はどれですか?
レッスン完了
syslog を完了しました
これで、メッセージ metadata から設定済み宛先まで、syslog routing をテストできます。
facility と順序付き severity level を区別する。
selector と action を分けて読む。
loggerで tag と priority を持つイベントを送る。設定を検証し、配送をエンドツーエンドで確認する。