Cacti で nginx を監視する
Cacti をインストールしたついでに、Cacti から nginx を監視できるように設定したメモです。
nginx の状態を取得するスクリプトやグラフのテンプレートについては以下のサイトで配布されている物を使用します。
Cacti • View topic - scripts and templates for nginx http://forums.cacti.net/about26458.html
nginx の設定
# /etc/nginx/sites-available/test
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
sudo nginx -s reload
で設定ファイルをリロードしておきます。
stub_status
を使用するには、nginx をコンパイルする時に --with-http_stub_status_module
オプションをつける必要がありますが、パッケージからインストールした場合はデフォルトで有効になっています。
スクリプトのセットアップ
Cacti のインストールしたディレクトリにある script ディレクトリに以下のスクリプトを設置します。
get_nginx_clients_status.pl
get_nginx_socket_status.pl
$ sudo cp get_nginx_clients_status.pl /var/www/test/public_html/cacti/scripts/
$ sudo cp get_nginx_socket_status.pl /var/www/test/public_html/cacti/scripts/
$ sudo chown cacti:cacti /var/www/test/public_html/cacti/scripts/get_nginx_clients_status.pl
$ sudo chown cacti:cacti /var/www/test/public_html/cacti/scripts/get_nginx_socket_status.pl
nginx の状態が取得できるか確認する:
$ ./get_nginx_clients_status.pl http://localhost/nginx_status
nginx_active:1 nginx_reading:0 nginx_writing:1 nginx_waiting:0
$ ./get_nginx_socket_status.pl http://localhost/nginx_status
nginx_accepts:1004 nginx_handled:1004 nginx_requests:1004
テンプレートを Cacti にインポートする
console の Import Templates を開き、以下のテンプレートをインポートします。
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml
New Graphs を見てみると、テンプレートが追加されています。
- Nginx Clients Stat
- Nginx Sockets Stat
それぞれのテンプレートを追加するときに、stub_status
にアクセスするための URL を聞かれるので、nginx で設定したように書きます。
ここでは http://localhost/nginx_status
としました。
しばらくすると、他のグラフの時と同じように、グラフが生成されると思います。
Munin も良いよ!と聞いたので、試してみたいですね。