Existen muchas formes de monitorizar un servicio apache, pero quizás la más sencilla es accediendo al módulo server-status. En el siguiente link podréis encontrar información de cómo configurar el módulo:

http://httpd.apache.org/docs/2.2/mod/mod_status.html

Una vez tenemos activo el servicio disponemos de muchos plugin para monitorizar los valores, pero nos hemos decido por probar check_apachestatus.pl :

http://exchange.nagios.org/directory/Plugins/Web-Servers/Apache/check_apachestatus/details

Existe la posibilidad de incorporar todos los valores en una única gráfica del PNP4Nagios, pero sinceramente se hace difícil leer los datos. Os dejamos el enlace para montarlo:

http://docs.pnp4nagios.org/templates/check_apachestatus

A nosotros nos gusta más disponer de todos los datos por separado, así nos es más cómodo leer como está el Apache. Pero si miramos como nos devuelve los valores veremos algo que no está bien:

# ./check_apachestatus.pl -H 127.0.0.1

OK 0.063242 seconds response time. Idle 10, busy 1, open slots 245 | 10;0;0;1;0;0;0;0;0;0;245

Si nos fijamos después de “|” nos entregan todos los valores uno detrás del otro, y esto hará que las gráficas del PNP4Nagios no se generen correctamente, ya que este debería recibir una cadena tipo Valor=X.

Así que nos ponemos manos a la obra y substituimos las cadenas del plugin:

%d;%d;%d;%d;%d; %d; %d; %d; %d; %d; %dn

Por estas otras

: Waiting for Connection=%d;Starting up=%d;Reading Request=%d;Sending Reply=%d;Keepalive=%d;DNS Lookup=%d;Closing connection=%d;Logging=%d;Gracefully finishing=%d;Idle cleanup of worker=%d;Open slot with no current process=%dn

Algo así nos quedará:

"