Страница состояния

На этой странице представлена информация о настройке и содержании страницы состояния 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.
Информация о каждом процессе - отображается только в режиме вывода full
Параметр Описание
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, потому что вычисление производится, когда обработка запроса завершена.
last request memory Максимальный объем памяти, потреблённый последним запросом. Это значение будет равно 0, если процесс не простаивает, так как вычисление производится после завершения обработки запроса.

Замечание:

Все значения специфичны для пула и сбрасываются при перезапуске FPM.

Замечание:

В выводе формата OpenMetrics используются различные типы параметров, чтобы лучше соответствовать формату OpenMetrics. Параметры и описания их значений включены в выходные данные формата OpenMetrics.

Список изменений

Версия Описание
8.1.0 Добавлен формат OpenMetrics.