前回の記事と今回やりたいこと
前回の記事では、rsyslogd を設定し、外部からのログ転送を受け付けられる状態にしました。
今回の記事では、満を持して、デバイスやサーバから syslog を転送してみたいと思います。
他のサーバの syslog を転送する
UNIX 系 OS であれば、基本的にはやり方が同じです。具体的には、以下の3行を行うのみです。
- rsyslogd をインストールする
- /etc/rsyslog.conf に転送条件を記述する
- rsyslogd を再起動する
rsyslogd はサーバにもクライアントにもなるアプリケーションで、 syslog サーバとして設定された rsyslogd に対してログを転送する機能を持っています。
インストール方法もサーバとしてインストールする際と同じで、Raspberry Pi OS であれば apt でインストールできます。
$ sudo apt install -y rsyslog
インストール後の設定も、/etc/rsyslog.conf と /etc/rsyslog.d/ 以下の drop-in ファイルで行います。ただ、今回は複雑な設定を行わず、全ての syslog を syslog サーバに転送する旨の1行のみ設定することになるため、drop-in ファイルは作成せず、直接 /etc/rsyslog.conf の一番下に以下の1行を追記しました。
*.* @@192.168.2.100:514
冒頭の *.* は、全てのログの全てのプライオリティの行を指定しています。IP アドレスは syslog サーバのもので、その後ろの番号は syslog サーバのポートです。
この状態で rsyslogd を再起動すると、すぐにログ転送が開始されます。
転送が開始されたあとに syslog サーバの USB メモリの中をのぞいてみると、
drwxr-xr-x 6 root root 64K Jan 1 1970 .
drwxr-xr-x 3 root root 4.0K Nov 3 08:50 ..
drwxr-xr-x 6 root root 64K Nov 3 14:43 rp001
drwxr-xr-x 7 root root 64K Nov 3 13:17 rp004
今 syslog を転送し始めたホスト rp001 のログが保存されています。驚くほど簡単ですが、これで完了となります。
バッファロー製ルータ WRM-D2133HP からのログ転送
最近の中上位機種の家庭用ルータには、syslog サーバへのログ転送機能がついています。rpdays の Raspberry Pi が所属するセグメントのルータ WRM-D2133HP にもこの機能がついており、ルータ内に記録される各種ログを、syslog サーバに転送して永続化したいと思います。
といっても、やり方はこれまた驚くほど簡単です。
UI にログインして「管理」→「ログ」と進み、以下の青色で囲んだ「使用する」をチェックし、黒色で囲んだ「syslog サーバー」の欄に syslog サーバの IP アドレス(ポートは不要)を入力し、転送するログ情報を必要に応じてチェックして、最後に右下の緑色で示した「設定」を押下するだけです。

1分ほどのルータ再起動後、syslog サーバにログの転送が開始されます。
最後に
今回 rpdays では Linux サーバ (Raspberry Pi) とバッファロー製家庭用ルータ WRM-D2133HP からの syslog 転送のみ記事化しておりますが、他にも syslog であれば容易に転送が可能です。
ログの永続化や一元化のため、今後も rpdays では色々なデバイスからのログ転送を試してみる予定で、その都度記事化を行いますので、楽しみにお待ち下さい。

コメント