Apache-manager es una interesante herramienta desarrollada en Python que nos permite monitorizar y realizar diversos ajustes en el comportamiento de los workers de nuestro servidor web Apache. Para ello hace uso principalmente de la información proporcionada por mod_status.
Su instalación con el gestor pip es tan sencilla como siempre:
pip install apache-manager
En su forma de uso más simple ejecutaremos desde terminal apache-manager
sin argumentos. Nos mostrará un resumen de diversas métricas de workers, carga de CPU, uso de memoria, etc… de Apache:
Si queremos que se actualice cada 10 segundos podemos lanzar apache-manager -w
(similar a un watch)
Además de monitorización de carga también permite ajustar el comportamiento de los workers de Apache en función de diversos parámetros como memoria máxima (para workers activos o inactivos) o tiempo desde la última request recibida. Veamos algunos ejemplos:
# Kill de procesos workers activos que utilicen más de 25 MB de memoria apache-manager -a 25M # Kill de procesos workers inactivos (idle) que utilicen más de 10 MB de memoria apache-manager -i 10M # Kill de workers cuya request más reciente haya sido recibida hace 30 minutos apache-manager -t 30m
Podemos hacer combinaciones con las opciones anteriores, por ejemplo apache-manager -a 25m -t 30m
.
Si la utilidad no encuentra ningún worker sobre el que actuar recibiremos notificación:
Resulta especialmente útil para integrarla en un crontab y realizar comprobaciones periódicas de uso de recursos de nuestro Apache, eliminando workers ociosos o que superen un determinado umbral de memoria antes de que afecten a la estabilidad de nuestro servidor.
Para ver todas las opciones de forma detallada podéis consultar apache-manager --help
Tenéis el proyecto en GitHub al igual que documentación más completa en la entrada correspondiente de readthedocs.