【アールシスログ】

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の進化版だよ
← 用語集にもどる