Monitorar Apache en CentOS 6 con Munin

Al igual que para MySQL, los plugins de Apache no vienen activados por defecto. En este manual los activaremos y además agregaremos uno extra que no es oficial. aunque hay muchos más pero este es el que me pareció mas interesante.

337947759_7f98639d45

Entre los plugins que viene con la instalación de apache se puede monitorar lo siguiente:

  1. accesos por segundo
  2. procesos activos, inactivos y slots libres
  3. número de bytes por segundo

Y el plugins adicional que podemos encontrar aquí nos permitirá ver el tamaño medio en bytes de los procesos de apache.

Los tres primeros como ya están en el directorio /usr/share/munin/plugins/ podemos activarlos de la siguiente manera:

ln -s /usr/share/munin/plugins/apache_* /etc/munin/plugins/

No son necesarias más configuraciones extras.

El plugin que no es oficial presenta algunos bugs y es por ello que hay que modificar algunas líneas, el plugin se llama apache_memmory:

Modificamos las líneas 13 y 14 con el usuario que ejecuta apache (apache) y el nombre del proceso (httpd). Luego para evitar errores (Usage: grep [OPTION]... PATTERN [FILE]...) con el comando grep yo he modificado las últimas líneas de la siguiente forma:

VAL1=`ps auxf | grep ${PROCS} | grep ^${USR} | grep -v grep | wc -l`
VAL1=`ps auxf | grep httpd | grep ^apache | grep -v grep | wc -l`

VAL2=`ps auxf | grep ${PROCS} | grep ^${USR} | grep -v grep | awk '{s+=$6} END {print s}'`
VAL2=`ps auxf | grep httpd | grep ^apache | grep -v grep | awk '{s+=$6} END {print s}'`

Con estos cambios subimos el archivo a /usr/share/munin/plugins, le damos permisos de ejecución, hacemos el enlace simbólico y reiniciamos el nodo.

Hay otros plugins jugosos como podría ser apache_byprojects que permite monitorar los distintos vhost que tengamos pero para ello es necesario tener un access log por cada vhost y ademas instalar logtail el cual no está disponible en CentOS 6 y logcheck que es su equivalente en CentOS no nos vale.

Comentarios