На этой странице представлена информация о настройке и содержании страницы состояния 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
Значения даты/времени используют формат метки времени UNIX в выходных данных JSON и XML,
иначе они используют формат, приводящий к следующему примеру даты:
"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 | Процент занятого cpu времени при выполнении последнего запроса. Это значение будет равно 0, если процесс не в состоянии Idle, потому что вычисление проводится после окончания обработки запроса. Значение может превысить 100 %, потому что метрика покажет, какой процент от общего времени работы процессора занял последний запрос, — в расчёте будут учтены процессы на всех ядрах, тогда как 100 % — это значение только для одного ядра. |
last request memory | Максимальный объем памяти, потреблённый последним запросом. Это значение будет равно 0, если процесс не простаивает, так как вычисление проводится после окончания обработки запроса. |
Замечание:
Все значения специфичны для пула и сбрасываются при перезапуске FPM.
Замечание:
В выводе формата OpenMetrics используются различные типы параметров, чтобы лучше соответствовать формату OpenMetrics. Параметры и описания их значений включены в выходные данные формата OpenMetrics.
Версия | Описание |
---|---|
8.1.0 | Добавлен формат OpenMetrics. |