Есть три сайта, каждый из которых использует свой PHP-FPM-пул
1 2 3 |
kamaok.us - /etc/php-fpm.d/kamaok.conf joomla.us - /etc/php-fpm.d/joomla.conf wordpress.us - /etc/php-fpm.d/wordpress.conf |
И дефолтный сайт
1 |
default.us - /etc/php-fpm.d/www.conf |
1.Настройка PHP-FPM для снятия статистки
Включаем отображение статуса для каждого php-fpm-пула
1 |
# nano /etc/php-fpm.d/kamaok.conf |
1 2 |
pm.status_path = /status-kamaok ping.path = /ping-kamaok |
1 |
# nano /etc/php-fpm.d/joomla.conf |
1 2 |
pm.status_path = /status-joomla ping.path = /ping-joomla |
1 |
# nano /etc/php-fpm.d/wordpress.conf |
1 2 |
pm.status_path = /status-wordpress ping.path = /ping-wordpress |
1 |
# nano /etc/php-fpm.d/www.conf |
1 2 |
pm.status_path = /status ping.path = /ping |
1 |
# php5-fpm –t |
1 |
# service php-fpm reload |
2.Настройка Nginx для отображения PHP-FPM-статистики
Настраиваем все пулы в дефолтном Nginx хосте
1 |
# nano /etc/nginx/conf.d/default.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
location ~ ^/(status-kamaok|ping-kamaok)$ { fastcgi_pass unix:/var/run/php5-fpm.kamaok.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; access_log off; allow 127.0.0.1; allow 192.168.1.0/24; allow <IP-address-Cacti-server>; deny all; } location ~ ^/(status-wordpress|ping-wordpress)$ { fastcgi_pass unix:/var/run/php5-fpm.wordpress.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; access_log off; allow 127.0.0.1; allow 192.168.1.0/24; allow <IP-address-Cacti-server>; deny all; } location ~ ^/(status-joomla|ping-joomla)$ { fastcgi_pass unix:/var/run/php5-fpm.joomla.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; access_log off; allow 127.0.0.1; allow 192.168.1.0/24; allow <IP-address-Cacti-server>; deny all; } location ~ ^/(status|ping)$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; access_log off; allow 127.0.0.1; allow 192.168.1.0/24; allow <IP-address-Cacti-server>; deny all; } |
1 |
# nginx –t |
1 |
# service nginx reload |
Локально с клиента проверяем корректность вывода php-fpm статистики
1 2 3 4 |
# lynx http://<IP_address_client_server>/status-joomla # lynx http://<IP_address_client_server>/status-kamaok # lynx http://<IP_address_client_server>/status-wordpress # lynx http://<IP_address_client_server>/status |
Потом также проверяем с Сacti-сервера
После чего проверяем вывод скрипта с Cacti-сервера
1 2 3 4 |
# perl /usr/share/cacti/scripts/get_php_fpm_status.pl -H -p 80 -s /status-wordpress --http # perl /usr/share/cacti/scripts/get_php_fpm_status.pl -H -p 80 -s /status-joomla --http # perl /usr/share/cacti/scripts/get_php_fpm_status.pl -H -p 80 -s /status-kamaok --http # perl /usr/share/cacti/scripts/get_php_fpm_status.pl -H -p 80 -s /status --http |
3.Скачивание и распаковка архива с шаблоном/скриптами.
https://github.com/glensc/cacti-template-php-fpm
1 |
# wget https://github.com/glensc/cacti-template-php-fpm/archive/master.zip |
Либо с моего сайта cacti-template-php-fpm-master.zip
1 |
# unzip master.zip |
4.Копирование скрипта get_php_fpm_status.pl в папку /scripts
1 |
# cp cacti-template-php-fpm-master/get_php_fpm_status.pl /usr/share/cacti/scripts/ |
5.Установка необходимого Perl-модуля
1 |
# yum install perl-FCGI-Client |
6. Импортирование шаблон cacti_graph_template_php-fpm_pool_status.xml
1 |
Console->Import Templates-> cacti_graph_template_php-fpm_pool_status.xml |
7.Добавление графиков
1 |
Console->Devices->ServerName->Associated Graph Templates->Add Grapth Templates->PHP-FPM Pool Status->Add |
Создаем графики
1 |
Devices->ServerName->Create Graphs for this host->Graph Templates->PHP-FPM Pool Status->Create |
1 2 3 4 5 |
Title – добаляем имя пула т.е получится так |host_description| - PHP-FPM Pool Status - joomla Port – 80 Path to status URI - /status-joomla Query string - /status-joomla Fetch mode: fcgi or http - http |
Аналогично создаем графики для остальных пулов
1 2 3 4 5 |
Title - |host_description| - PHP-FPM Pool Status - wordpress Port – 80 Path to status URI - /status-wordpress Query string - /status-wordpress Fetch mode: fcgi or http - http |
1 2 3 4 5 |
Port – 80 Title - |host_description| - PHP-FPM Pool Status - kamaok Path to status URI - /status-kamaok Query string - /status-kamaok Fetch mode: fcgi or http - http |
1 2 3 4 5 |
Port – 80 Title - |host_description| - PHP-FPM Pool Status - default Path to status URI - /status Query string - /status Fetch mode: fcgi or http - http |
Источники:
https://github.com/glensc/cacti-template-php-fpm
http://forums.cacti.net/viewtopic.php?f=12&t=41580