Page d'état

Cette page fournit des informations sur la configuration et le contenu de la page d'état du FPM. Voir aussi fpm_get_status().

Configuration

La page d'Ă©tat de FPM peut ĂȘtre activĂ©e en dĂ©finissant le paramĂštre pm.status_path dans la configuration du pool FPM.

Attention

Pour des raisons de sĂ©curitĂ©, la page d'Ă©tat du FPM devrait ĂȘtre limitĂ©e aux requĂȘtes internes ou aux IP de clients connues, car la page rĂ©vĂšle les URLs des requĂȘtes et des informations sur les ressources disponibles.

Selon la configuration du serveur web, il peut ĂȘtre nĂ©cessaire de configurer le serveur web pour autoriser les requĂȘtes directement vers ce chemin, en contournant les scripts PHP. Un exemple de configuration pour Apache avec FPM Ă©coutant sur UDS et pm.status_path fixĂ© Ă  /fpm-status:

<LocationMatch "/fpm-status">
 Require local
 ProxyPass "unix:/var/run/php-fpm.sock|fcgi://localhost/"
</LocationMatch>

AprĂšs le rechargement ou le redĂ©marrage de FPM et du serveur web, la page d'Ă©tat sera accessible Ă  partir du navigateur (Ă  condition que la requĂȘte provienne d'une adresse IP autorisĂ©e si la restriction d'IP a Ă©tĂ© configurĂ©e).

ParamĂštres de la requĂȘte

Le format de la page d'Ă©tat peut ĂȘtre modifiĂ© en spĂ©cifiant l'un des paramĂštres de requĂȘte suivants :

  • html
  • json
  • openmetrics
  • xml

Des informations supplĂ©mentaires peuvent Ă©galement ĂȘtre retournĂ©es en utilisant le paramĂštre de requĂȘte full.

Exemple d'URL de page d'état :

  • https://localhost/fpm-status - BrĂšve sortie dans le format texte par dĂ©faut
  • https://localhost/fpm-status?full - RĂ©sultats complets dans le format de texte par dĂ©faut
  • https://localhost/fpm-status?json - RĂ©sultat succinct au format JSON
  • https://localhost/fpm-status?html&full - RĂ©sultats complets au format HTML

Informations affichées

Les valeurs de date et d'heure utilisent le format d'horodatage Unix dans les sorties JSON et XML, sinon elles utilisent le format résultant de l'exemple suivant "03/Jun/2021:07:21:46 +0100".

Informations de base - Toujours affichées sur la page d'état
ParamĂštre Description
pool Le nom du pool de processus FPM.
process manager Le type de gestionnaire de processus - statique, dynamique ou Ă  la demande.
start time Date et heure du dernier démarrage du pool de processus.
start since Temps en secondes écoulé depuis le dernier démarrage du pool de processus.
accepted conn Nombre total de connexions acceptées.
listen queue Nombre de requĂȘtes (backlog) en attente d'un processus libre.
max listen queue Le nombre maximum de requĂȘtes vues dans la file d'attente Ă  un moment donnĂ©.
listen queue len Taille maximale autorisée de la file d'attente.
idle processes Nombre de processus actuellement inactifs (en attente de requĂȘtes).
active processes Nombre de processus qui traitent actuellement des requĂȘtes.
total processes Nombre total de processus en cours.
max active processes Nombre maximal de processus actifs simultanément.
max children reached Le nombre maximal de processus a-t-il déjà été atteint ? Si oui, la valeur affichée est plus grande ou égale à 1, sinon la valeur affichée est 0.
slow requests Le nombre total de requĂȘtes qui ont atteint le dĂ©lai configurĂ© de request_slowlog_timeout.
memory peak Le pic d'utilisation de mémoire depuis le démarrage de FPM.
Informations par processus - affichées uniquement en mode de sortie complÚte (full)
ParamĂštre Description
pid Le PID systĂšme du processus.
state L'état du processus - Idle, Running, ...
start time La date/heure à laquelle le processus a démarré.
start since Le nombre de secondes écoulées depuis le début du processus.
requests Le nombre total de requĂȘtes servies.
request duration Le temps total en microsecondes passĂ© Ă  servir la derniĂšre requĂȘte.
request method La mĂ©thode HTTP de la derniĂšre requĂȘte servie.
request uri L'URI de la derniĂšre requĂȘte servie (aprĂšs traitement par le serveur web, il peut toujours s'agir de /index.php si l'on utilise un motif de redirection du contrĂŽleur frontal).
content length La longueur du corps de la requĂȘte, en octets, de la derniĂšre requĂȘte.
user L'utilisateur HTTP (PHP_AUTH_USER) de la derniĂšre requĂȘte.
script Le chemin complet du script exĂ©cutĂ© par la derniĂšre requĂȘte. Ce sera '-' si non applicable (par exemple, les requĂȘtes de la page d'Ă©tat).
last request cpu Le %cpu de la derniĂšre requĂȘte. Ce sera 0 si le processus n'est pas au repos car le calcul est effectuĂ© lorsque le traitement de la requĂȘte est terminĂ©. La valeur peut dĂ©passer 100 %, car l'indicateur indiquera le pourcentage total du temps CPU utilisĂ© lors de la derniĂšre requĂȘte : prend en compte les processus sur tous les cƓurs, alors que le 100 % est pour un seul cƓur.
last request memory La quantitĂ© maximale de mĂ©moire consommĂ©e par la derniĂšre requĂȘte. Cette valeur sera 0 si le processus n'est pas au repos, car le calcul est effectuĂ© lorsque le traitement de la requĂȘte est terminĂ©.

Note: Toutes les valeurs sont spécifiques au pool et sont réinitialisées lorsque FPM est redémarré.

Note: Le format de sortie OpenMetrics utilise différents types de paramÚtres pour mieux s'adapter au format OpenMetrics. Les paramÚtres et les descriptions de leurs valeurs sont inclus dans la sortie du format OpenMetrics.

Historique

Version Description
8.1.0 Le format openmetrics a été ajouté.
add a note

User Contributed Notes 2 notes

up
20
uwe at ohse dot de ¶
3 years ago
Before someone else misunderstands that:
  "request duration    The total time in seconds spent serving requests."

This is not the total time of all requests done by that process, but either the time used by the last request done (idle state), or the current request (all other states).

And the number given is not in seconds, but in microseconds.

The fpm status documentation is a mess.
up
0
nospam at briat dot org ¶
1 year ago
For the record, if you're not using socks (remote php-fpm), here's the line to add to you vhost:
ProxyPassMatch ^/status$ fcgi://[FPM-HOST]:[FPM-PORT]/status