Eu habilitei os apache_
plugins em um nó munin:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
Depois de reiniciar o nó, service munin-node restart
aqui estão os erros que estou recebendo:
$ 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]
No entanto, mod_status
já está ativado:
$ a2enmod status
Module status already enabled
E reiniciar o apache não faz diferença.
Se eu tentar executar os plugins manualmente, aqui está o que recebo (li que obter um U é uma má notícia, pelo menos isso é 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
Alguém sabe por que ainda estou recebendo a server-status not found
mensagem e como posso me livrar dela?
Resposta atualizada 1
A sugestão de Shane estava correta sobre a configuração de um manipulador de solicitações usando Location
e SetHandler
no site apache. Para mais informações mod_status
, consulte esta página
Pude verificar se munin
estava efetivamente fazendo as solicitações apropriadas, olhando para /var/log/apache2/access.log
onde estava obtendo isso:
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
No meu caso, definir o Location
não foi suficiente, pois estou executando um Drupal
site e, em .htaccess
conjunto mod_rewrite
, reescrevemos os pedidos. Para corrigi-lo, tive que adicionar a seguinte linha ao meu.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]
Observe que isso não representa um problema de segurança, pois o acesso ao /server-status
é restrito 127.0.0.1
no site apache.
Resposta atualizada 2
Parece que Location
não foi necessário adicionar o site ao apache, já que isso já está definido em /etc/apache2/mods-enabled/status.conf
. Aliás, se você quiser adicionar a ExtendedStatus On
diretiva, é nesse arquivo que você deve fazê-lo.
mod_rewrite
obra (ver pergunta atualizada com resposta)Eu descobri que podia correr
mas não
O primeiro está atingindo o servidor padrão e o segundo, um servidor virtual.
Então, eu adicionei explicitamente uma seção apache para
/etc/munin/plugin-conf.d/munin-node
e recebi meus gráficos munin apache.
fonte
Encontrei solução de Muitos Ayromlou neste site :
fonte
mod_status integrado ao servidor da web Apache para obter o status do servidor em um navegador da web. Com este módulo, podemos facilmente descobrir o desempenho do servidor. Todos os relatórios são gerados em um formato html.
Passo 1. Verifique se o módulo de status está ativado ou não apache2ctl -M ou ls / etc / apache2 / sites-enabled
Passo 2. Se não estiver ativado, ative-o pelo comando
status de sudo a2enmod
etapa 3. Configure o acesso,
Abra o /etc/apache2/mods-enabled/status.conf e comente as linhas,
E adicione a seguinte linha,
Podemos restringir o acesso do status do servidor para IPs específicos nessa configuração, editando Permitir do endereço_ipublic_public em vez de Permitir de todos
Salve o arquivo status.conf.
Passo 4. Reinicie o apache pelo comando
/etc/init.d/apache2 restart
Etapa5. Verifique a página de status do servidor no navegador
http: // server-ip / server-status
Espero que isso seja útil.
fonte
Eu estava tendo o mesmo problema. Aqui estão mais algumas etapas de diagnóstico. Tente fazer
Essa é uma maneira mais direta de ver o mesmo erro " não (sem status do servidor apache nas portas 80) "
Agora tente fazer
Para mim, isso significa 403 Proibido .
Eu também estava vendo 'cliente negado pela configuração do servidor: / var / www / server-status' no meu log de erro principal do apache
Você está recebendo o mesmo?
Para mim, na verdade, a resposta de Shane Madden resolveu.
fonte
Se / server-status for proibido apenas a partir de 127.0.0.1, você poderá criar a configuração do VirtualHost para 127.0.0.1 com o seguinte conteúdo:
Aqui está uma explicação mais detalhada
fonte