2018.2.20追記: Logwatchのコマンドが変わっていたので、書き直しました。ログ監視ツール Logwatch を使ってみる (アップデート版)
Logwatch は、いろいろなログをまとめて集計し、レポートとして毎日定期的にメールで届けてくれる。不正アクセスや不具合の発見とサーバの監視に便利なツール。
Logwatch のインストール
Logwatch は Perl で書かれていて Perl 5.8 が必要です。
yumからのインストールは、
$ yum install logwatch
で、
ソースからのインストールは、こちらから。
Logwatch をインストールした時点で cron に登録されているので、毎日4時2分になると Logwatch のスクリプト (/etc/cron.daily/0logwatch) が実行されてレポートが届く。
logwatch の設定
logwatch の設定は、/usr/share/logwatch/default.conf/logwatch.conf を編集する。標準設定のままで十分ですが、以下の項目を確認して設定。
#ログが保存されているディレクトリ
LogDir = /var/log
#メールの送信先
MailTo = user@hoge.com
#アーカイブされたログも含めるかどうか
Archives = Yes
#レポートの日付範囲を3つのオプションから。All, Today, Yesterday
Range = Yesterday
ログの詳細度、Low (=0), Med (=5), High (=10) または 0から10までの数字で
Detail = High
# チェックの対象となるサービスを /usr/share/logwatch/scripts/services/ 以下、あるいは All で指定。
Service = All
# メールコマンドパス
mailer = "sendmail -t"
サービスごとの個別設定は、/usr/share/logwatch/default.conf/services/ に用意されている。各サービスの設定ファイルを編集することで個別設定できる。
logwatch コマンドを使ってみる
標準出力
logwatch --print
特定のサービスだけ出力
logwatch --print --service http
複数のサービスにも
logwatch --print --service http --service sshd
ログの詳細度を変えてみる
logwatch --print --detail 10 --service http
メールに出力
logwatch --mailto user@hoge.com
ファイルに出力
logwatch --save /path/to/logwatch.txt