【アールシスログ】

rsyslog とは?

最終更新:
💡 受け取ったログを、ルールに沿って届ける書記官

ログメッセージを受け取り、ルールに従って加工・振り分け・保存・転送するログ処理ソフトウェア。Linuxなどでデーモンとして動かし、入力と出力を設定して使う。

📌 このページのポイント
ログを受け取り、選んだ出力先へ 入力 処理 出力例 rsyslog ルールで選ぶ 出所・重要度 属性など 複数出力も可 syslog ソケット journal 入力 テキスト ファイル auth.log error.log 収集サーバー 入力モジュール・ルール・保存先を設定
矢印は入力からルールを経て出力する経路。青は入力、橙は処理、緑は出力。ファイル名は設定例で、OS共通の既定値ではない。journalやテキストファイルの入力にも対応するモジュールと設定が必要。遠隔転送のTLSも別途設定する。
ひよこ ひよこ
Linuxのログってどこに保存されてるの?
ペンギン先生 ペンギン先生
ファイルに保存する構成では/var/log/がよく使われるけど、名前や保存先は環境で違うよ。rsyslogは設定した入力から受け取ったログをルールに従って出力する。アプリが直接ファイルへ書く構成やjournaldへ保存する構成もあり、Linuxの全ログを必ずrsyslogが扱うわけではないんだ。
ひよこ ひよこ
ログの振り分けってどうやって決まるの?
ペンギン先生 ペンギン先生
出所を表すファシリティと、重要度を表すプライオリティで選ぶ方法があるよ。伝統的な形式ではauth.* /var/log/auth.logがauthの全重要度をそのファイルへ出す例。*.errはerr以上の重大なメッセージも含み、errだけなら*.=errとする。属性や式による条件も使えるんだ。
ひよこ ひよこ
別のサーバーにログを送ることもできるの?
ペンギン先生 ペンギン先生
できるよ。複数台からログサーバーへ集約する構成に使える。TCPを使っただけでTLSになるわけではなく、暗号化と相手の確認には対応モジュール、証明書、送受信側の設定などが必要。通信路の保護と、保存後のアクセス管理も分けて考えよう。
ひよこ ひよこ
最近はjournaldっていうのも聞くけど…
ペンギン先生 ペンギン先生
journaldはログを構造化したjournalへ収集・保存するサービスで、journalctlで読めるよ。rsyslogがimjournalでjournalを読んだり、syslogソケットを入力にしたりする連携もある。必ず二段構えになるわけではなく、OSの構成や入力モジュール、設定を確認するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「rsyslog」って出てきたら「Linuxのログを集めて管理するデーモン」と思えればだいたいOK!
📖 おまけ:英語の意味
「rocket-fast system for log processing」 = ロケットのように速いログ処理システム
💬 公式プロジェクトはrocket-fastのr、systemのsys、logを合わせて説明しているよ。名前はどんな設定でも一定の速度が出るという保証ではないんだ

参考資料

← 用語集にもどる