Мониторинг PHP-FPM в Zabbix

Настройка PHP-FPM status

Вывод PHP-FPM-статуса

– имя пула;

– тип Process Manager (pm — dynamic, static, ondemand);

– время запуска FPM (FastCGI Process Manager);

– время в секундах с момента запуска;

– количество обработанных пулом запросов;

– количество запросов в очереди на обработку этим пулом, если количество > 0 – надо подумать об увеличении количества процессов;

– максимальное количество запросов, которые были в очереди с момента запуска пула;

– количество запросов в очереди к сокету;

– количество процессов в idle статусе;

– количество активных процессов;

– общее количество процессов (idle + active processes);

– максимальное количество активных процессов с момента запуска пула;

– максимальное количество дочерних потоков PHP-FPM с момента запуска, если количество >0 – есть смысл подумать об увеличении pm.max_children;

– количество медленных запросов (должен быть включён slowlog).

По-умолчанию – status возвращает страницу в plain-text.
Что бы вызвать её в HTML – добавьте ?html:

Или в Json:

Что бы вывести больше информации – добавьте ?full

 

Настройка Nginx на обработку запроса к PHP-FPM-статусу
В данном случае настраиваем  отображение PHP-FPM-статистики в хосте по умолчанию т.е для доступа к
FPM-статус можно использовать IP-адрес сервера или его полное доменное имя
Например, необходимо мониторить статус пула, запущенных под пользователем myusername
В Nginx в хосте по умолчанию настраиваю поддержку FPM-статуса

Т.е fpm-статус будет досутупен у меня на

Если дефолтный хост кроме внешного IP-адреса слушает также и localhost, то статистика может быть доступна на localhost
http://localhost/status

 

Настройка PHP-FPM-пула для поддержки FPM-статуса

Проверяем с командной строки с Zabbix-агента

 

1.Установка скрипта на Zabbix-агенте

Установка прав

За основу скрипта был взят скрипт по мониторингу Nginx отсюда
http://wiki.enchtex.info/howto/zabbix/nginx_monitoring
Скрипт предусматривает кеш, что позволяет сократить количество реальных обращений к серверу.
Время действия кеша в секундах должно устанавливается чуть меньше чем период опроса элементов(по умолчанию в скрипте используется кеширование на 55 секунд, а интервал обновления элементов настроен на 60 секунд)

Проверяем работу скрипта

Если для проверки скрипт запускался с правами root, то он будет владельцем кэш файла — удалите кеш файл после проверок.

 

2.Настройка Zabbix-агента

Проверяем локально с Zabbix-агента

 

3.Настройка Zabbix-сервера
Cкачиваем,распаковываем и импортируем шаблон php-fpm_export_templates.xml

php-fpm_export_templates

Добавляем макрос с указанием URL, на котором доступен статус PHP-FPM-пула
Например, URL в данном случае http://server1.mydomain.com/status

Применяем шаблон к хосту
Проверяем,что через 1-2 минуты на хосте появились Item с именем PHP-FPM

 

 

Примеры графиков:

 

Источник:
http://wiki.enchtex.info/howto/zabbix/nginx_monitoring
http://rtfm.co.ua/nginx-php-fpm-vklyuchenie-php-server-status/

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика