nginx のログを logwatch で監視する

Web サーバが apache 利用なら logwatch はデフォルトで監視してくれるので忘れがちなのだけど、現在は nginx を使っているので、それなりに設定しないとメールでログ解析レポートが送られて来ないのであった。というわけで、どうするんだよーという感じでググったらなんとも宜しいタイミングで『LogWatchを使ってみる ( nginxの設定例 )』という記事が。
紹介した記事を読むに、取得するログの形式がデフォルトのままであれば apache 用のファイルをそのまま nginx に流用できるということなので、まずは関連するファイルをさくさくとコピー。
1 2 3 |
$ 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 用の記述を追加する。というかまぁ、削ってしまっても問題ないけど履歴代わりに残すという感じ。
1 2 3 4 |
# Title = "httpd" Title = "nginx" # LogFile = http LogFile = nginx |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# 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 |
用意ができたらコマンドを叩いてテスト。
1 |
$ sudo logwatch --service nginx --range Today |
コマンドを叩くと結果がメールで届くので確認する。各種設定がデフォルトのままなら、まず問題ないはず。というわけで、今回の設定はおしまい。
-
前の記事
Amazon アソシエイト・プログラムと登録 URL の話 2012.11.15
-
次の記事
ウォシュレットが使えない 2012.11.22