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

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

ログメッセージに転送元のサーバーのホスト名が表示されるように、「/etc/hosts」ファイルに次の2行を追記します。

このファイルは、IPアドレスとホスト名の名前解決に使われます。ここでは、ログ転送元のサーバーのホスト名とIPアドレスをそれぞれ「server1」「192.168.10.101」、「server2」「192.168.10.102」としました。

デフォルトで用意されているログ設定も書き換える必要があります。nanoエディタで「/etc/rsyslog.d/50-default.conf」を開いてください。

8行目の「auth,authpriv.*          /var/log/auth.log」を、

のように書き換えます。「fromhost-ip」はプロパティーで、ログを転送したサーバーのIPアドレスを示しています。「isequal」は条件式です。プロパティーとこの後に指定した文字列が一致するかどうかを確認し、一致した場合に「アクション」に指定した処理を実行します。アクションについては、第19回(https://shell-mag.com/19st_linuxoperations/)で解説しています。「192.168.10.100」が文字列に当たる部分で、ログ管理サーバー自身のIPアドレスを記述しています。このように書き換えることで、認証やセキュリティにかかわるログを受信していても「/var/log/auth.log」ファイルにログ管理サーバー自身のログしか記録されないようになります。

変更した以上の設定をrsyslogに反映するために、

を実行します。これでログを一元管理する設定は完了です。