syslog
100%

ロギング · レッスン 2

syslog

syslog の facility、severity、routing rule、logger コマンドの仕組みを学びます。

syslog は、多くの Unix 系システムで使われるメッセージモデルとトランスポートの規約を定義します。rsyslog はその実装の一つで、メッセージの受信、filter、変換、保存、転送を行えます。systemd-journald と共存する場合があり、どちらの名前も、全アプリケーションがその経路を使うことを意味しません。

Facility と Severity

syslog メッセージは、発生元の大まかな分類を表す facility と、emergency から debug までの severity を持ちます。代表的な facility には authcrondaemonkernmailuserlocal0 から 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 を持つイベントを送る。

  • 設定を検証し、配送をエンドツーエンドで確認する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
ロギング に戻る