На этой странице представлена информация о настройке и содержании страницы состояния менеджера процессов FPM. Смотрите также описание функции fpm_get_status().
Страницу состояния FPM включают установкой параметра конфигурации pm.status_path в конфигурации пула FPM.
В целях безопасности страницу состояния FPM ограничивают внутренними запросами или известными IP-адресами клиентов, поскольку страница показывает URL-адрес запроса и информацию о доступных ресурсах.
От конфигурации веб-сервера зависит, нужно ли в настройках сервера
разрешать запросы непосредственно к этому пути, минуя любые PHP-скрипты.
Пример конфигурации для сервера Apache с менеджером процессов FPM, слушающим на UDS,
и директивой pm.status_path
с установленным значением /fpm-status будет выглядеть следующим образом:
<LocationMatch "/fpm-status"> Order Allow,Deny Allow from 127.0.0.1 ProxyPass "unix:/var/run/php-fpm.sock|fcgi://localhost/fpm-status" </LocationMatch>
После перезагрузки или перезапуска менеджера FPM и веб-сервера страница состояния будет доступна из браузера (при условии, что запрос поступает с разрешённого IP-адреса, если было настроено ограничение IP-адресов).
Формат вывода страницы состояния изменяют путём указания одного из следующих параметров запроса:
htmljsonopenmetricsxml
Дополнительная информация также возвращается с параметром запроса full.
Примеры URL-адресов страниц состояния:
https://localhost/fpm-status —
Краткий вывод в текстовом формате по умолчанию
https://localhost/fpm-status?full —
Полный вывод в текстовом формате по умолчанию
https://localhost/fpm-status?json —
Краткий вывод в формате JSON
https://localhost/fpm-status?html&full —
Полный вывод в формате HTML
В данных вывода в форматах JSON и XML значения даты и времени выводятся в формате метки времени UNIX,
иначе они выводятся в формате, который даёт следующий пример даты:
"03/Jun/2021:07:21:46 +0100".
| Параметр | Описание |
|---|---|
| pool | Имя пула процессов FPM. |
| proccess manager | Тип менеджера процесса — static (статический), dynamic (динамический) или ondemand (по требованию). |
| start time | Дата и время последнего запуска пула процессов. |
| start since | Время в секундах с момента последнего запуска пула процессов. |
| accepted conn | Общее количество принятых соединений. |
| listen queue | Количество запросов (backlog), ожидающих свободного процесса. |
| max listen queue | Максимальное количество запросов в очереди на прослушивание в любой момент времени. |
| listen queue len | Максимально допустимый размер очереди прослушивания. |
| idle processes | Количество процессов, которые в настоящее время простаивают (ожидают запросов). |
| active processes | Количество процессов, которые в настоящее время обрабатывают запросы. |
| total processes | Текущее общее количество процессов. |
| max active processes | Максимальное количество одновременно активных процессов. |
| max children reached |
Было ли достигнуто максимальное количество процессов? Если да, то отображаемое значение
будет больше или равно 1, иначе значение будет равно 0.
|
| slow requests |
Общее количество запросов, которые достигли настроенного
request_slowlog_timeout.
|
| memory peak | Пиковое значение объёма памяти, которую PHP выделил с момента запуска FPM-менеджера процессов. |
| Параметр | Описание |
|---|---|
| pid | Системный PID-идентификатор процесса. |
| state | Состояние процесса — Idle, Running, … |
| start time | Дата и время начала процесса. |
| start since | Количество секунд с момента начала процесса. |
| requests | Общее количество обслуженных запросов. |
| request duration | Общее время в микросекундах, затраченное на обслуживание последнего запроса. |
| request method | Метод HTTP последнего обслуженного запроса. |
| request uri |
URI-идентификатор последнего обслуженного запроса (после обработки веб-сервером он всегда может быть
равен /index.php, если вы используете шаблонный редирект фронт-контроллера).
|
| content length | Длина тела запроса, в байтах, последнего запроса. |
| user | HTTP-пользователь (PHP_AUTH_USER) последнего запроса. |
| script |
Полный путь к скрипту, который выполнил последний запрос. Это будет
'-', если не применимо (например, запросы страницы состояния).
|
| last request cpu | Процент занятого центральным процессором времени при выполнении последнего запроса. Это значение будет равно 0, если процесс не в состоянии Idle, потому что вычисление проводится после окончания обработки запроса. Значение может превысить 100 %, потому что метрика покажет, какой процент от общего времени работы процессора занял последний запрос, — в расчёте менеджер учтёт процессы на каждом ядре, тогда как 100 % — это значение только для одного ядра. |
| last request memory | Максимальный объем памяти, который потребил последний запрос. Это значение будет равно 0, если процесс не простаивает, поскольку вычисление проводится после окончания обработки запроса. |
Замечание:
Все значения специфичны для пула и сбрасываются при перезапуске менеджера FPM.
Замечание:
Данные вывода в формате стандарта OpenMetrics используют различные типы параметров, чтобы лучше соответствовать формату OpenMetrics. Параметры и описания их значений включаются в данные вывода формата OpenMetrics.
| Версия | Описание |
|---|---|
| 8.1.0 | Добавлен формат OpenMetrics. |