【アールシスログ】

rsyslog とは?

公開:
💡 システムの出来事をすべて記録する書記官
📌 このページのポイント
rsyslog — ログの収集・転送・振り分け sshd nginx cron kernel rsyslog facility × severity でフィルタリング auth.* → auth.log *.err → error.log *.* → リモート /var/log/auth.log /var/log/error.log リモートサーバー @@remote:514 (TCP) syslog の高機能版。マルチスレッドで高速処理 ほとんどの Linux ディストリビューションで標準搭載
rsyslog のログ転送のイメージ
ひよこ ひよこ
Linuxのログってどこに保存されてるの?
ペンギン先生 ペンギン先生
/var/log/ ディレクトリに色々なログファイルがあるよ。認証関連はauth.log、カーネルはkern.log、システム全般はsyslog。これらのログを適切なファイルに振り分けているのがrsyslogなんだ。
ひよこ ひよこ
ログの振り分けってどうやって決まるの?
ペンギン先生 ペンギン先生
ファシリティ(出所:auth、kern、mailなど)とプライオリティ(重要度:emerg、err、info、debugなど)の組み合わせで決まるよ。/etc/rsyslog.confで「auth.* /var/log/auth.log」のように設定するんだ。
ひよこ ひよこ
別のサーバーにログを送ることもできるの?
ペンギン先生 ペンギン先生
それがrsyslogの大きな強みだよ。数十台のサーバーのログを1台のログサーバーに集約すれば、障害調査やセキュリティ監査がずっと楽になる。しかもTLSで暗号化して送れるから、ログの盗聴も防げるんだ。
ひよこ ひよこ
最近はjournaldっていうのも聞くけど…
ペンギン先生 ペンギン先生
いい質問だね。systemdと一緒に登場したjournaldはバイナリ形式でログを保存するんだけど、多くのディストリビューションではrsyslogとjournaldが共存しているよ。journaldがログを受け取ってrsyslogに転送し、rsyslogがファイルに書き出すという二段構えが一般的なんだ。大規模環境ではFluentdやVector経由でElasticsearchに送る構成も増えてきているけど、基本のrsyslogは押さえておいて損はないよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「rsyslog」って出てきたら「Linuxのログを集めて管理するデーモン」と思えればだいたいOK!
📖 おまけ:英語の意味
「rocket-fast system for log processing」 = 超高速ログ処理システム
💬 「rocket-fast(ロケットのように速い)」を謳い文句にしたsyslogの進化版だよ
← 用語集にもどる