PHP_FPM fields

edit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

PHP-FPM server status metrics collected from PHP-FPM.

php_fpm fields

edit

php_fpm contains the metrics that were obtained from PHP-FPM status page call.

pool fields

edit

pool contains the metrics that were obtained from the PHP-FPM process pool.

php_fpm.pool.name

type: keyword

The name of the pool.

pool fields

edit

pool contains the metrics that were obtained from the PHP-FPM process pool.

php_fpm.pool.process_manager

type: keyword

Static, dynamic or ondemand.

connections fields

edit

Connection state specific statistics.

php_fpm.pool.connections.accepted

type: long

The number of incoming requests that the PHP-FPM server has accepted; when a connection is accepted it is removed from the listen queue.

php_fpm.pool.connections.queued

type: long

The current number of connections that have been initiated, but not yet accepted. If this value is non-zero it typically means that all the available server processes are currently busy, and there are no processes available to serve the next request. Raising pm.max_children (provided the server can handle it) should help keep this number low. This property follows from the fact that PHP-FPM listens via a socket (TCP or file based), and thus inherits some of the characteristics of sockets.

php_fpm.pool.connections.max_listen_queue

type: long

The maximum number of requests in the queue of pending connections since FPM has started.

php_fpm.pool.connections.listen_queue_len

type: long

The size of the socket queue of pending connections.

processes fields

edit

Process state specific statistics.

php_fpm.pool.processes.idle

type: long

The number of servers in the waiting to process state (i.e. not currently serving a page). This value should fall between the pm.min_spare_servers and pm.max_spare_servers values when the process manager is dynamic.

php_fpm.pool.processes.active

type: long

The number of servers current processing a page - the minimum is 1 (so even on a fully idle server, the result will be not read 0).

php_fpm.pool.processes.total

type: long

The number of idle + active processes.

php_fpm.pool.processes.max_active

type: long

The maximum number of active processes since FPM has started.

php_fpm.pool.processes.max_children_reached

type: long

Number of times, the process limit has been reached, when pm tries to start more children (works only for pm dynamic and ondemand).

php_fpm.pool.slow_requests

type: long

The number of times a request execution time has exceeded request_slowlog_timeout.

php_fpm.pool.start_since

type: long

Number of seconds since FPM has started.

php_fpm.pool.start_time

type: date

format: epoch_second

The date and time FPM has started.

process fields

edit

process contains the metrics that were obtained from the PHP-FPM process.

php_fpm.process.pid

type: integer

The PID of the process

php_fpm.process.state

type: keyword

The state of the process (Idle, Running, etc)

php_fpm.process.start_time

type: date

format: epoch_second

The date and time the process has started

php_fpm.process.start_since

type: integer

The number of seconds since the process has started

php_fpm.process.requests

type: integer

The number of requests the process has served

php_fpm.process.request_duration

type: integer

The duration in microseconds (1 million in a second) of the current request (my own definition)

php_fpm.process.request_method

type: keyword

The request method (GET, POST, etc) (of the current request)

php_fpm.process.request_uri

type: text

The request URI with the query string (of the current request)

php_fpm.process.content_length

type: integer

The content length of the request (only with POST) (of the current request)

php_fpm.process.user

type: keyword

The user (PHP_AUTH_USER) (or - if not set) (for the current request)

php_fpm.process.script

type: text

The main script called (or - if not set) (for the current request)

php_fpm.process.last_request_cpu

type: long

The max amount of memory the last request consumed (it is always 0 if the process is not in Idle state because memory calculation is done when the request processing has terminated)

php_fpm.process.last_request_memory

type: integer

The content length of the request (only with POST) (of the current request)