На этой странице представлена информация о настройке и содержании страницы состояния менеджера процессов 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 . |
Параметр | Описание |
---|---|
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. |