Ubuntuにインストールされた「Munin」で、「Nginx」の情報を取得してグラフとして表示させる方法です。
「Ubuntu」へ「Munin」をインストールする手順は下記ページで解説しています。
Nginxでstub_statusの有効化
「munin-node」で「Nginx」のステータスを監視できるように「stub_status」を有効化します。
Nginx設定追加
ローカルホストから「http://localhost/nginx_status」アクセスすると「Nginx」のステータスを表示できるよう、「/etc/nginx/conf.d/default.conf」に設定を追加していきます。
$ cd /etc/nginx/conf.d $ sudo cp -p default.conf default.conf_$(date "+%Y%m%d_%H%M%S") $ sudo vi default.conf
赤字部分の設定を追加します。
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /nginx_status {
stub_status on;
allow ::1;
allow 127.0.0.1;
deny all;
}
##### 中略 #####
}
設定の反映
「nginx -t」で設定初期に間違いが無いかを確認し、問題がなければ「Nginx」を再起動して設定を反映させます。
$ sudo nginx -t $ sudo systemctl restart nginx
stub_statusが有効されているかの確認
「Nginx」の情報が取得できるかの確認を「curl」使って行います。
$ curl -s http://localhost/nginx_status
実際に「curl」で動作確認を行うと、下記のように情報を取得することが出来ます。
$ curl -s http://localhost/nginx_status Active connections: 15 server accepts handled requests 18 18 59 Reading: 0 Writing: 1 Waiting: 14
取得できる情報について
取得できる情報は以下のとおりです。
- Active connections: 現在の接続数
- server accepts handled requests: Nginxを起動してからの総数を表示(左から以下の項目となる)
- クライアントからの接続数
- 処理された接続数
- クライアントからリクエスト数
- Reading: リクエストヘッダーを読み込んでいる数
- Writing: クライアントへの応答数
- Waiting: クライアントからのリクエスト待ち数
libwww-perlインストール
「munin-node」で「Nginx」の情報を取得するために「LWP::UserAgent」が必要です。
これは「libwww-perl」に含まれているのでインストールしておきます。
$ sudo apt install libwww-perl
「LWP::UserAgent」がインストールされていない場合、下記のようなエラーが発生して「munin-node」で「Nginx」のステータスを取得することが出来ません。
$ sudo munin-run nginx_request Use of uninitialized value $LWP::VERSION in sprintf at /etc/munin/plugins/nginx_request line 107. Can't locate object method "new" via package "LWP::UserAgent" at /etc/munin/plugins/nginx_request line 107. Warning: the execution of 'munin-run' via 'systemd-run' returned an error. This may either be caused by a problem with the plugin to be executed or a failure of the 'systemd-run' wrapper. Details of the latter can be found via 'journalctl'.
Muninのpluginを有効化
「munin-node」で「Nginx」の情報を取得するために下記のプラグインを有効化します。
- nginx_request
- nginx_status
プラグインを有効化するには、「/usr/share/munin/plugins/」にある「nginx_request」と「nginx_status」へのシンボリックリンクを「/etc/munin/plugins/」に作成する必要があります。
$ cd /etc/munin/plugins/ $ sudo ln -s /usr/share/munin/plugins/nginx_request $ sudo ln -s /usr/share/munin/plugins/nginx_status
「munin-node」を再起動して有効化したプラグインを認識させます。
$ sudo systemctl restart munin-node
munin-runによる動作確認
有効化したプラグインが正常に動作するかは、「munin-run」コマンド使用すると確認できます。
$ sudo munin-run nginx_request $ sudo munin-run nginx_status
実際に実行して、下記のように「Nginx」から情報を取得出来たら問題ありません。
$ sudo munin-run nginx_request request.value 2485 $ sudo munin-run nginx_status total.value 3 reading.value 0 writing.value 2 waiting.value 1
Muninのグラフを確認
「munin-node」で「Nginx」の情報が取得できることが確認できたら、5〜10分ほど待ってからWebブラウザで「Munin」のグラフが表示されているか確認を行ってください。
グラフの表示が確認できたら作業は終了です。
コメント