ログを監視しメールを自動送信する。

Apache2のログ監視はanalogをインストールし既に行ってました。
また、サーバーの各ステータスもMrtg+RRDTOOLで監視を行っていました。
そこで今回はsyslogなどの実際のログを監視して自動でメールを送信してくれるlogwatchをいうアプリをインストールします。
※このアプリを動かすためにはmailutils、exim4などのメール送信に必用なパッケージをインストールしmailコマンドでメール送信が出来るように設定する必要があります。

まずインストールですがこれは非常に簡単です。
apt-get install logwatch

インストールされたらlogwatchの設定を変更します。
vi /usr/share/logwatch/default.conf/logwatch.conf

変更点は以下の点になります。

変更前:MailTo = root
変更後:MailTo = your_address@your_host.com
↑送信したいメールアドレスに書き換えます。(mailコマンドで送信できるアドレスであることが前提)

変更前:#Archives = No
変更後:Archives = Yes
↑logがlotateされた場合を想定

変更前:Detail = Low
変更後:Detail = Med
↑好みのログレベルに設定してください。(文字列ではなく数値で指定も可能です)

設定が完了したらテストで実行してみましょう。
/usr/sbin/logwatch

実際に設定したアドレスにメールが送信されてくれば設定は完了です。

ちなみにcronにはインストール時に自動で登録されています。
(1日1回自動実行されてメールが送られてきます)
debianでのcronへの自動登録はdailyに登録されるのでAM6:25に実行されます。
時間などを変更したい場合はcron.dailyから削除しcrontabに自分で登録してください。

送られてくる内容で注意すべきなのは
pam_unix、SSHD、Disk Space、kernelの項目でしょうか。(kernelはエラー出ないと送られてこないようです)

pam_unixはLinuxのpam認証を表示しています。

SSHDはその名の通りsshへの接続を示しています。
許可していないユーザーでのログインがあれば不正アクセスの可能性もありますので注意が必要です。

Disk Spaceは一杯になる前にどうにかしましょう(笑)

kernel項目に関しては出力されていれば解析、調査が必要ですね。

最後に
 logwatchを導入すると毎日定期でlogの結果が送信されてきます。
誰しも最初は注意深く見るのですが平和な日々が続きますと次第に見なくなったり軽く読み飛ばしたりするようになりがちです。
しかし、それではlogwatchを導入した意味は全くありません。
mrtgの様にグラフでの傾向は示してくれませんが毎日logに目を通すことで障害を未然に防げたり
発生した障害による被害を広げないことも可能になります。
このツールの本当の真価はlogをチェックする人の対応力に尽きると思います。

コメントを残す

メールアドレスが公開されることはありません。