Muninは、デフォルトの監視項目以外に「プラグイン」で監視したい項目を増やすことができます。代表的なモジュール nginx + PHP-FPMの「PHP-FPM」を監視項目に追加してみます。(2017/04/09作成)
lmonk72 / Pixabay
PHP-FPMとは
FPM ( FastCGI Process Manager ) は PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を用意しています。(出典: FastCGI Process Manager (FPM) )
0.環境
$ cat /etc/redhat-release CentOS release 6.9 (Final) $ nginx -v nginx version: nginx/1.10.3 $ php -v | head -n 1 PHP 5.6.21 (cli) (built: Apr 28 2016 07:47:46)
1.PHP-FPMのプラグインインストール
$ cd /usr/share/munin/plugins $ sudo git clone git://github.com/tjstein/php5-fpm-munin-plugins.git $ chmod +x php5-fpm-munin-plugins/phpfpm_* $ cd /etc/munin/plugins/ $ sudo ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_average phpfpm_average $ sudo ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_connections phpfpm_connections $ sudo ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_memory phpfpm_memory $ sudo ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_processes phpfpm_processes $ sudo ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_status phpfpm_status
2.PHP-FPMのステータス設定
$ sudo vi /etc/php-fpm.d/www.conf pm.status_path = /phpfpm_status $ sudo /etc/init.d/php-fpm restart
3.nginx側の設定
$ sudo vi /etc/nginx/conf.d/default.confhttps://blog.offline-net.com/wp-admin/media-upload.php?post_id=3348&type=image&TB_iframe=1 server { listen 80; server_name localhost; location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } location /phpfpm_status { include fastcgi_params; fastcgi_pass localhost:9000; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; allow 127.0.0.1; deny all; } }
正常に設定できているかどうかは、nginxを再起動後、curlで確認できます。
$ curl http://localhost/nginx_status $ curl http://localhost/phpfpm_status
4.munin-nodeの設定
$ sudo vi /etc/munin/plugin-conf.d/munin-node [phpfpm*] env.url http://localhost/phpfpm_status env.phpbin php-fpm $ sudo /etc/init.d/munin-node restart
以上