На этой странице представлена информация о настройке и содержании страницы состояния менеджера процессов 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-адресов).
Формат вывода страницы состояния изменяют путём указания одного из следующих параметров запроса:
html
json
openmetrics
xml
Дополнительная информация также возвращается с параметром запроса 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. |