Skip to content
This repository has been archived by the owner on Aug 26, 2019. It is now read-only.

lagged/PHP5-FPM-Munin-Plugins

 
 

Repository files navigation

To install on Ubuntu 10.04:

cd /usr/share/munin/plugins
git clone git://github.com/bummercloud/PHP5-FPM-Munin-Plugins.git
chmod +x PHP5-FPM-Munin-Plugins/phpfpm_*
ln -s /usr/share/munin/plugins/PHP5-FPM-Munin-Plugins/phpfpm_average /etc/munin/plugins/phpfpm_average
ln -s /usr/share/munin/plugins/PHP5-FPM-Munin-Plugins/phpfpm_connections /etc/munin/plugins/phpfpm_connections
ln -s /usr/share/munin/plugins/PHP5-FPM-Munin-Plugins/phpfpm_memory /etc/munin/plugins/phpfpm_memory
ln -s /usr/share/munin/plugins/PHP5-FPM-Munin-Plugins/phpfpm_status /etc/munin/plugins/phpfpm_status
ln -s /usr/share/munin/plugins/PHP5-FPM-Munin-Plugins/phpfpm_processes /etc/munin/plugins/phpfpm_processes
service munin-node restart

For the phpfpm_status and phpfpm_connections plugins, you’ll need to enable the status feature included in newer versions (5.3.2+) of PHP-FPM. Open up the php5-fpm.conf, /etc/php5/fpm, and uncomment line 186 for the pm.status_path directive:

pm.status_path = /status

Jérôme Loyet from the Nginx forums provided some useful insight on how to get this working with Nginx. You’ll essentially set
up the status location directive like this:

location ~ ^/(status|ping)$ {
    include fastcgi_params;
    fastcgi_pass backend;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    allow 127.0.0.1:9000;
    allow stats_collector.localdomain;
    allow watchdog.localdomain;
    deny all;
}

You’ll need to make sure that from within your box, you can curl /status with # curl http://localhost/status. You should get a response similar to this:

accepted conn: 40163
pool: www
process manager: dynamic
idle processes: 6
active processes: 0
total processes: 6

Note:

The phpfpm_status plugin is particularly useful if you’re using dynamic process management. You can choose static or dynamic in the php5-fpm.conf.

Environment variables

  • env.munin_phpfpm_url: Set a custom url, defaults to http://127.0.0.1/fpm_status
  • env.munin_phpfpm_ports: Set a custom port, defaults to 80
  • env.munin_phpbin: Set a custom php binary name, defaults to php5-fpm

Requirements:

libwww-perl

Todo

  • get rid off the perl dependency and use shell only
  • make these plugins respond with useful info when they don’t work

Releases

No releases published

Packages

No packages published