さくらVPSでログを監視する(CentOS7+nginx+Logwatch)

スポンサーリンク

はじめに

さくらのVPS(CentOS7+nginx)の環境にLogwatchを入れてログを監視するためのまとめです。

注意事項

  • コマンドはすべてroot権限での操作です。

環境

VPS さくらVPS 1G SSD
OS CentOs 7.3
Webサーバー nginx/1.10.2
その他 Logwatch 7.4.0

Logwatchとは

カスタマイズ可能なログモニタリングシステムで一定期間のログのレポートを作成してくれます。

Logwatchのインストール

yumコマンドでパッケージをインストールします。

# yum install logwatch

Logwatchの設定

logwatchの設定ファイルを変更する場合は /usr/share/logwatch/default.conf/logwatch.conf の内容から変更したい箇所を /etc/logwatch/conf/logwatch.conf へ追記して修正します。
メールの宛先を変更する場合は以下のように追記します。

# vi /etc/logwatch/conf/logwatch.conf

MailTo = xxx@goodlife.tech

ログレポートの確認

ログレポートを標準出力に出力するには何も指定せずに実行するか –output stdout と指定して実行します。デフォルトの出力先はlogwatch.confで設定されていてstdoutです。

# logwatch
# logwatch --output stdout

サービスを指定してログを表示する場合は –service オプションを指定します。cronのログを表示する場合は以下の通りです。

# logwatch --service cron

nginx用の設定

logwatchには標準でnginx用の設定ファイルが存在しないためhttpd用の設定ファイルをコピーして作成します。

cp /usr/share/logwatch/default.conf/logfiles/http.conf /etc/logwatch/conf/logfiles/nginx.conf
cp /usr/share/logwatch/default.conf/services/http.conf /etc/logwatch/conf/services/nginx.conf
cp /usr/share/logwatch/scripts/services/http /etc/logwatch/scripts/services/nginx

cp /usr/share/logwatch/default.conf/logfiles/http-error.conf /etc/logwatch/conf/logfiles/nginx-error.conf
cp /usr/share/logwatch/default.conf/services/http-error.conf /etc/logwatch/conf/services/nginx-error.conf
cp /usr/share/logwatch/scripts/services/http-error /etc/logwatch/scripts/services/nginx-error

設定ファイルを変更する

nginxのサービス設定ファイルを以下のように変更します。

# vi /etc/logwatch/conf/services/nginx.conf

- Title = "httpd"
+ Title = "nginx"

- LogFile = http
+ LogFile = nginx

nginxのログファイルの形式を設定します。

# vi /etc/logwatch/conf/logfiles/nginx.conf

- 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 = 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

nginx-errorのサービス設定ファイルを以下のように変更します。

# vi /etc/logwatch/conf/services/nginx-error.conf

- Title = http errors
+ Title = nginx errors

- LogFile = http-error
+ LogFile = nginx-error

nginx-errorのログファイルの形式を設定します。

# vi /etc/logwatch/conf/logfiles/nginx-error.conf

- LogFile = httpd/*error_log
- LogFile = apache/*error.log.1
- LogFile = apache/*error.log
- LogFile = apache2/*error.log.1
- LogFile = apache2/*error.log
- LogFile = apache2/*error_log
- LogFile = apache-ssl/*error.log.1
- LogFile = apache-ssl/*error.log
+ LogFile = /var/log/nginx/error.log

- Archive = archiv/httpd/*error_log.*
- Archive = httpd/*error_log.*
- Archive = apache/*error.log.*.gz
- Archive = apache2/*error.log.*.gz
- Archive = apache2/*error_log.*.gz
- Archive = apache-ssl/*error.log.*.gz
- Archive = varnish/*error.log.*.gz
- Archive = archiv/httpd/*error_log-*
- Archive = httpd/*error_log-*
- Archive = apache/*error.log-*.gz
- Archive = apache2/*error.log-*.gz
- Archive = apache2/*error_log-*.gz
- Archive = apache-ssl/*error.log-*.gz
+ Archive = /var/log/nginx/error.log-*.gz

Logwatchを実行してnginxのログが出力されれば成功です。

# logwatch --output stdout --service nginx

--------------------- nginx Begin ------------------------
(略)
---------------------- nginx End -------------------------
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする