nginx のログを logwatch で監視する

もふもふあげさん nginx
この記事は約3分で読めます。
スポンサーリンク

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

コマンドを叩くと結果がメールで届くので確認する。各種設定がデフォルトのままなら、まず問題ないはず。というわけで、今回の設定はおしまい。

タイトルとURLをコピーしました