Сторінка стану

На цій сторінці представлена ​​інформація про налаштування та зміст сторінки стану 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"

Після перезавантаження або перезапуску менеджера 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Чи було досягнуто максимальної кількості процесів? Якщо так, то відображуване значення буде , інакше значення буде
slow requestsЗагальна кількість запитів, які досягли налаштованого request_slowlog_timeout

Інформація про кожний процес — відображається лише у режимі виводу full

ПараметрОпис
pidСистемний процес PID.
stateСтан процесу - Idle, Running, ...
start timeДата/час початку процесу.
start sinceКількість секунд від початку процесу.
requestsЗагальна кількість обслуговуваних запитів.
request durationЗагальний час у мікросекундах, витрачений обслуговування останнього запиту.
request methodМетод HTTP останнього обслуговуваного запиту.
request uriURI останнього обслуженого запиту (після обробки веб-сервером він завжди може дорівнювати /index.php, якщо ви використовуєте шаблонний редирект фронт-контролера).
content lengthДовжина тіла запиту в байтах, останній запит.
userHTTP-користувач (PHP_AUTH_USER) останнього запиту.
scriptПовний шлях до скрипта, виконаного останнім запитом. Це буде '-', якщо не застосовується (наприклад, запити сторінки стану).
last request cpuВідсоток зайнятого часу при виконанні останнього запиту. Це значення буде 0, якщо процес не в стані Idle, тому що обчислення проводиться після закінчення обробки запиту. Значення може перевищити 100 %, тому що метрика покаже, який відсоток від загального часу роботи процесора зайняв останній запит — у розрахунку будуть враховані процеси на всіх ядрах, тоді як 100 % — це значення тільки для одного ядра.
last request memoryМаксимальний обсяг пам'яті, спожитий останнім запитом. Це значення дорівнюватиме 0, якщо процес не простоює, так як обчислення проводиться після закінчення обробки запиту.

Зауваження :

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

Зауваження :

У форматі OpenMetrics використовуються різні типи параметрів, щоб краще відповідати формату OpenMetrics. Параметри та опис їх значень включені у вихідні дані формату OpenMetrics.

список змін

ВерсияОпис
8.1.0Доданий формат OpenMetrics.