Contar el número de procesos Apache (HTTPD)

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
#
# ---------------------------------------------------------------
# Copyleft 2009 Yoander Valdés (sedlav) Rodríguez <https://www.librebyte.net/>
# 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

Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

1 comentario

  1. Reblogged this on PASIÓN PC | BLOG DE SISTEMAS and commented:
    Añade tus pensamientos aquí... (opcional)

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.