シェルスクリプトマガジン

第21回 ログを収集する(rsyslogによる一元管理)

サーバーのログを転送する

まずは、2台のサーバーからログ管理サーバーへログを転送する設定を記述します。転送元となるどちらかのサーバー上で「nano」エディタを使って、「/etc/rsyslog.d/60-transfer.conf」のrsyslogの設定ファイルを新しく作成します。

ログを転送するための「ルール」は、次のような書式になります。

セレクター              @ログ管理サーバーのIPアドレス:514

「セレクター」はログのタイプであり、第19回で説明したように「ファシリティー」と「プライオリティー」を使って記述します。

「@」は、ログの転送に「UDP」通信を用いることを示しています。rsyslogでは、「TCP」通信も利用できます。ただし、古い機器だとsyslogの転送にUDPしか利用できない場合もあります。一元管理するなら、どちらかの通信方法を選んだ方がよいので、ここではUDP通信を用います。なお、UDPでは、TCPのような受信に対する応答がないのでログを取りこぼす可能性があります。そのようなときにはTCP通信を使います。TCP通信の場合は「@@」のように「@」を二つ記述します。

「514」は、rsyslogでログを転送する場合に標準で利用されるポート番号です。通常は、このポート番号をそのまま使えばよいでしょう。

それでは書式に従って、認証やセキュリティにかかわるログを転送する設定を次のように記述します。ここでは、ログ管理サーバーのIPアドレスを「192.168.10.100」とします。

設定ファイルにこの1行を書き込んで保存したら、

を実行して設定を反映します。もう1台のサーバーでも同じように記述して設定を反映してください。