He habilitado los apache_
complementos en un nodo munin:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
Después de reiniciar el nodo con service munin-node restart
aquí están los errores que obtengo:
$ munin-node-configure --suggest 2>/dev/null | grep "apache\|Plugin\|------"
Plugin | Used | Suggestions
------ | ---- | -----------
apache_accesses | yes | no [apache server-status not found. check if mod_status is enabled]
apache_processes | yes | no [apache server-status not found. check if mod_status is enabled]
apache_volume | yes | no [apache server-status not found. check if mod_status is enabled]
Sin embargo, mod_status
ya está habilitado:
$ a2enmod status
Module status already enabled
Y reiniciar Apache no hace la diferencia.
Si trato de ejecutar los complementos manualmente, esto es lo que obtengo (leí que obtener una U es una mala noticia, así que al menos eso es consistente).
$ munin-run apache_accesses --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_accesses'
accesses80.value U
$ munin-run apache_processes --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_processes'
busy80.value U
idle80.value U
free80.value U
$ munin-run apache_volume --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_volume'
volume80.value U
¿Alguien sabe por qué sigo recibiendo el server-status not found
mensaje y cómo puedo deshacerme de él?
Respuesta actualizada 1
La sugerencia de Shane era correcta acerca de cómo configurar un controlador de solicitudes usando Location
y SetHandler
en el sitio de apache. Para obtener más información sobre mod_status
, consulte esta página
Pude verificar que munin
efectivamente estaba haciendo las solicitudes apropiadas mirando /var/log/apache2/access.log
dónde estaba obteniendo esto:
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
En mi caso, la configuración Location
no fue suficiente, ya que estoy ejecutando un Drupal
sitio y .htaccess
combinados con mod_rewrite
reescribir las solicitudes. Para solucionarlo, tuve que agregar la siguiente línea a mi.htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} !=/server-status # <= added this line
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Tenga en cuenta que esto no representa un problema de seguridad ya que el acceso /server-status
está restringido a 127.0.0.1
en el sitio apache.
Respuesta actualizada 2
Parece que, Location
después de todo, no era necesario agregarlo al sitio apache, ya que esto ya está definido en /etc/apache2/mods-enabled/status.conf
. Por cierto, si desea agregar la ExtendedStatus On
directiva, está en ese archivo que debe hacerlo.
mod_rewrite
trabajo (ver pregunta actualizada con respuesta)