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)Descubrí que podía correr
pero no
El primero está llegando al servidor predeterminado, el segundo un servidor virtual.
Así que agregué explícitamente una sección de apache a
/etc/munin/plugin-conf.d/munin-node
y obtuve mis gráficos munin apache.
fuente
Encontré la solución de Many Ayromlou en este sitio :
fuente
mod_status integrado en el servidor web Apache para obtener el estado del servidor desde un navegador web. Con este módulo podemos averiguar fácilmente qué tan bien está funcionando el servidor. Todos los informes se generan en formato html.
Paso 1. Compruebe si el módulo de estado está habilitado o no apache2ctl -M o ls / etc / apache2 / sites-enabled
Paso 2. Si no está habilitado, habilítelo con el comando,
estado de sudo a2enmod
paso 3. Configurar acceso,
Abra /etc/apache2/mods-enabled/status.conf y comente las líneas,
Y agregue la siguiente línea,
Podemos restringir el acceso al estado del servidor para IP particulares en esta configuración editando, Permitir desde nuestra_dirección_pública_en lugar de Permitir desde todos
Guarde el archivo status.conf.
Paso 4. Reinicia apache con el comando,
/etc/init.d/apache2 restart
Paso5. Verifique la página de estado del servidor en el navegador
http: // server-ip / server-status
Espero que esto sea útil.
fuente
Estaba teniendo el mismo problema. Aquí hay algunos pasos de diagnóstico más. Trata de hacerlo
Esa es una forma más directa de ver el mismo error " no (no hay estado de servidor apache en los puertos 80) "
Ahora intenta hacer
Para mí eso es dar 403 Prohibido .
También estaba viendo 'cliente denegado por la configuración del servidor: / var / www / server-status' en mi registro principal de errores de apache
¿Estás recibiendo lo mismo?
Para mí, de hecho, la respuesta de Shane Madden lo resolvió.
fuente
Si / server-status está prohibido solo desde 127.0.0.1, puede crear la configuración de VirtualHost para 127.0.0.1 con el siguiente contenido:
Aquí hay una explicación más detallada
fuente