Web サーバが apache 利用なら logwatch はデフォルトで監視してくれるので忘れがちなのだけど、現在は nginx を使っているので、それなりに設定しないとメールでログ解析レポートが送られて来ないのであった。というわけで、どうするんだよーという感じでググったらなんとも宜しいタイミングで『LogWatchを使ってみる ( nginxの設定例 )』という記事が。
紹介した記事を読むに、取得するログの形式がデフォルトのままであれば apache 用のファイルをそのまま nginx に流用できるということなので、まずは関連するファイルをさくさくとコピー。
$ sudo cp /usr/share/logwatch/scripts/services/http /etc/logwatch/scripts/services/nginx $ sudo cp /usr/share/logwatch/default.conf/services/http.conf /etc/logwatch/conf/services/nginx.conf $ sudo cp /usr/share/logwatch/default.conf/logfiles/http.conf /etc/logwatch/conf/logfiles/nginx.conf
そうして、2枚ある nginx.conf を記事に習って修正。デフォルトはコメントアウトして、nginx 用の記述を追加する。というかまぁ、削ってしまっても問題ないけど履歴代わりに残すという感じ。
# Title = "httpd" Title = "nginx" # LogFile = http LogFile = nginx
# LogFile = httpd/*access_log # LogFile = apache/*access.log.1 # LogFile = apache/*access.log # LogFile = apache2/*access.log.1 # LogFile = apache2/*access.log # LogFile = apache2/*access_log # LogFile = apache-ssl/*access.log.1 # LogFile = apache-ssl/*access.log LogFile = /var/log/nginx/*access.log # Archive = archiv/httpd/*access_log.* # Archive = httpd/*access_log.* # Archive = apache/*access.log.*.gz # Archive = apache2/*access.log.*.gz # Archive = apache2/*access_log.*.gz # Archive = apache-ssl/*access.log.*.gz Archive = /var/log/nginx/*access.log.*.gz
用意ができたらコマンドを叩いてテスト。
$ sudo logwatch --service nginx --range Today
コマンドを叩くと結果がメールで届くので確認する。各種設定がデフォルトのままなら、まず問題ないはず。というわけで、今回の設定はおしまい。