Introducción al Proyecto
php-fpm_exporter es una herramienta diseñada para exportar métricas de PHP-FPM a Prometheus. A diferencia de otras soluciones, se conecta directamente a PHP-FPM para obtener datos, eliminando la necesidad de un servidor web como Nginx o Apache como intermediario. Sus características principales incluyen:
- Soporte para la exportación de uno o varios pools de PHP-FPM.
- Conexión a PHP-FPM mediante sockets TCP o Unix.
- Mapeo de variables de entorno a opciones de línea de comandos.
- Funcionalidad para corregir inconsistencias en las métricas de PHP-FPM.
- Disponibilidad de dashboards de Grafana optimizados para Kubernetes.
Enicio Rápido
Instalación
Puedes instalar php-fpm_exporter de las siguientes maneras:
Mediante Docker
docker pull hipages/php-fpm_exporter
Con Binarios Precompilados
Descarga el ejecutable apropiado para tu sistema operativo desde la página de lanzamientos en GitHub.
Ejecución
Iniciando con Docker
docker run -it --rm -e PHP_FPM_SCRAPE_URI="tcp://127.0.0.1:9000/status" hipages/php-fpm_exporter
Ejecutando el Binario
php-fpm_exporter server --phpfpm.scrape-uri="tcp://127.0.0.1:9000/status"
Acceso a las Métricas
Una vez iniciado, las métricas estarán disponibles en http://localhost:9253/metrics. Puedes acceder a ellas desde tu navegadro o herramienta de monitoreo.
Casos de Uso y Buenas Prácticas
Monitorización de Múltiples Pools de PHP-FPM
Para monitorizar varios pools de PHP-FPM simultáneamente, puedes especificar múltiples URIs de escaneo:
php-fpm_exporter server --phpfpm.scrape-uri="tcp://127.0.0.1:9000/status tcp://127.0.0.1:9001/status"
Configuración vía Variables de Entorno
La configuración puede simplificarse utilizando variables de entorno:
export PHP_FPM_SCRAPE_URI="tcp://127.0.0.1:9000/status"
php-fpm_exporter server
Corrección de Métricas de Procesos
En ocasiones, PHP-FPM puede reportar un número de procesos inexacto. Habilita la corrección para obtener datos más precisos:
php-fpm_exporter server --phpfpm.fix-process-count
Proyectos del Ecosistema
Promethues
php-fpm_exporter se integra perfectamente en el ecosistema de Prometheus, permitiendo la recolección centralizada y la gestión de alertas basadas en las métricas de PHP-FPM.
Grafana
Aprovecha los dashboards de Grafana, especialmente los diseñados para Kubernetes, para visualizar y analizar de forma intuitiva el rendimiento de tus servicios PHP-FPM.
Kubernetes
En entornos de orquestación como Kubernetes, php-fpm_exporter puede ser desplegado como un contenedor Sidecar junto a tu aplicación PHP-FPM, facilitando la monitorización continua y en tiempo real.