El check de PHP-FPM monitoriza el estado de tu grupo de FPM y realiza un seguimiento del rendimiento de las solicitudes.
Configuración
Instalación
El check de PHP-FPM está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tu servidor.
Configuración
Sigue las instrucciones de abajo para configurar este check para un Agent que se ejecuta en un host. En el caso de entornos en contenedores, consulta la sección En contenedores.
Host
Para configurar este check para un Agent que se ejecuta en un host:
init_config:instances:## @param status_url - string - required## Get metrics from your FPM pool with this URL## The status URLs should follow the options from your FPM pool## See http://php.net/manual/en/install.fpm.configuration.php## * pm.status_path## You should configure your fastcgi passthru (nginx/apache) to catch these URLs and## redirect them through the FPM pool target you want to monitor (FPM `listen`## directive in the config, usually a UNIX socket or TCP socket.#- status_url:http://localhost/status## @param ping_url - string - required## Get a reliable service check of your FPM pool with `ping_url` parameter## The ping URLs should follow the options from your FPM pool## See http://php.net/manual/en/install.fpm.configuration.php## * ping.path## You should configure your fastcgi passthru (nginx/apache) to## catch these URLs and redirect them through the FPM pool target## you want to monitor (FPM `listen` directive in the config, usually## a UNIX socket or TCP socket.#ping_url:http://localhost/ping## @param use_fastcgi - boolean - required - default: false## Communicate directly with PHP-FPM using FastCGI#use_fastcgi:false## @param ping_reply - string - required## Set the expected reply to the ping.#ping_reply:pong
En el caso de los entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.
Es posible monitorizar múltiples grupos de PHP-FPM utilizando el mismo servidor proxy, un escenario común cuando se ejecuta en Kubernetes. Para ello, modifica las rutas de tu servidor para que apunten a diferentes instancias PHP-FPM. Este es un ejemplo de configuración de NGINX:
Si esta estrategia a escala te resulta demasiado tediosa, configurar use_fastcgi como true instruye al check para que omita cualquier servidor proxy y se comunique directamente con PHP-FPM a través de FastCGI. El puerto por defecto es 9000 cuando se omite status_url o ping_url.
Sockets Unix
Si tu instalación de PHP-FPM utiliza sockets Unix, debes utilizar la siguiente sintaxis para status_url, ping_url y habilitar use_fastcgi:
Parámetro
Valor
status_url
unix:///<FILE_PATH>.sock/status
ping_url
unix:///<FILE_PATH>.sock/ping
ping_reply
pong
use_fastcgi
true
Nota: Con Autodiscovery, si el Agent se ejecuta en un(a) contenedor/tarea/pod separado(a), no tendrá acceso al archivo de sockets Unix de tu grupo de FPM. Para solucionar este inconveniente, ejecuta el Agent como sidecar.