Sur un serveur sur lequel est installé Nginx et Php-fpm, on peut facilement afficher les stats d'utilisation en temps réel via une page web dédiée. Cette page peut ensuite être parsée pour intégrer les métriques dans un outil de supervision (Nagios,...).
Les codes suivants sont à inclure sur un vhost Nginx (dans le bloc server), en prenant soin de restreindre les accès.
Nginx
# NGINX Status location /nginx_status { stub_status on; access_log off; }
Le résultat est le suivant :
Active connections: 3 server accepts handled requests 180235 180235 129198 Reading: 0 Writing: 1 Waiting: 2
Php-fpm
# PHP-FPM Status location /php_status { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
Il faut également modifier la conf de php-fpm dans le fichier /etc/php5/fpm/pool.d/www.conf
Sous la ligne
;pm.status_path = /status
Ajouter
pm.status_path = /php_status
Le résultat est le suivant :
pool: www process manager: dynamic start time: 12/Mar/2015:09:31:03 +0100 start since: 107338 accepted conn: 107730 listen queue: 0 max listen queue: 1 listen queue len: 128 idle processes: 63 active processes: 1 total processes: 64 max active processes: 8 max children reached: 0 slow requests: 0