Contar el número de procesos Apache (HTTPD)
abril 15, 2011 Dejar un comentario
En algunas ocasiones es necesario saber el número de procesos Apache que se están ejecutando en nuestros servidores de producción y asi tener una idea aproximada de la carga del servidor web. El número de procesos httpd tiene una relación directa con las directivas: MaxClients y ServerLimit y aunque solo estas 2 directivas no determinan el rendimiento del servidor web si tienen gran incidencia.
Contar número de procesos httpd (Probado en CentOS / Fedora / RHEL / Scientific Linux)
$ pgrep httpd | wc -l
Script que permite enviar un email si el número de procesos httpd es mayor que un determinado número
# #!/usr/bin/env bash # GNU shell que permite enviar un email si el número de # procesos httpd es mayor que un determinado número # # --------------------------------------------------------------- # Copyright (c) 2009 flossblog <http://flossblog.wordpress.com/> # Este script es liberado bajos los téminos de la GNU GPL # version 2.0 o superior # -------------------------------------------------------------- # Uso: # El script obtiene la cantidad de procesos apache (httpd) # y envia un email a $EMAIL en caso de haber más # procesos que $TOPS. # Puede ejecutar el script de forma manual o como tarea # programada # ------------------------------------------------------------- # Última actualización: 15 de abril del 2011 # ------------------------------------------------------------- #!/usr/bin/env bash # # Cantidad de procesos httpd que se están ejecutando # APS=$(pgrep httpd | wc -l) # # Número máximo de procesos httpd # TOPS=200 # # Ponga aquí su correo eléctronico # EMAIL= # # Comparar y enviar email # (( $TOPS < $APS )) &&\ echo "Cantidad de procesos httpd: $APS ( $(date +'%Y-%m-%d %T') )" |\ mail -s 'Alerta!!. Muchos procesos httpd están teniendo lugar' $EMAIL # #
Para ejecutar el scrip como tarea programada siga los siguientes pasos
- crear fichero vacío:
$ touch apacheps-counter
- Abra apacheps-counter con su editor preferido
- Copie el código del script y peguele en apacheps-counter
- Asígnele permisos de ejecución
$ chmod a+x apacheps-counter
- Copiar a /usr/local/bin
# cp -pv apacheps-counter /usr/local/bin/
- Agregar el crontab
# Ejecutar cada 15 min */15 * * * * /usr/local/bin/apacheps-counter
Lectura recomendadas
- man pgrep
- man wc
- Tareas programadas en GNU / Linux, BSD