Gostaria de monitorar as estatísticas do NGinx através do Munin, mas os plugins do Nginx não mostram dados. É possível diagnosticar por que apenas um dos plugins munin nginx parece estar funcionando?
O servidor é executado no CentOS 5.3
Os plug-ins do nginx contam com o seguinte URL para obter as informações de status:
http://127.0.0.1/nginx_status
Normalmente, o nginx não possui esse URL configurado para mostrar dados de status.
Na documentação dos plug-ins, vejo que o nginx precisa ser configurado para mostrar dados de status em um URL específico.
Você precisa habilitar o status nginx adicionando as seguintes linhas à configuração do site:
server {
listen 127.0.0.1;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
Não se esqueça de reiniciar o servidor após adicionar essa configuração e verifique se o URL do stus retorna os dados de status.
Para a documentação completa de cada plug-in, você pode executar:
munindoc nginx_request
Espero que isto ajude.
apt install libwww-perl time
usar nós munin por seus problemas de log com osUse of uninitialized value $LWP::VERSION
plugins nginx.http://localhost/
pode preferir o IPv6 e, portanto, não corresponderá à configuração do nginx, que permite apenas o host local do IPv4. Ao fixar a URL/etc/munin/plugin-conf.d/munin-node
parahttp://127.0.0.1/nginx_status
eventualmente fazer o plug-in funcionar.Na minha experiência, esses plug-ins provavelmente não estão funcionando devido à configuração incorreta do nginx. Aqui está uma lista resumida do que fazer neste caso:
1. Verifique a instalação do nginx
O Nginx deve ser compilado com o módulo HttpStubStatusModule . Você pode verificar isso executando o seguinte comando (em sudo ou root):
Se você vir a saída a seguir, é bom seguir em frente.
Caso contrário, você precisará recompilar o nginx com o módulo necessário ativado ou instalar a partir de fontes diferentes (no meu caso, o repositório Debian padrão tinha a versão correta).
2. Verifique a configuração do nginx
Estou assumindo que você colocou e ativou a configuração necessária . Para ver se está funcionando, você pode
ssh
acessar seu servidor e executarSe você não encontrar erros aqui, o problema é a configuração do plugin. Se o servidor retornar um erro aqui, você poderá depurar modificando a configuração:
Depois disso, no arquivo,
/var/log/nginx/status.error.log
você pode ver o motivo exato pelo qual o servidor retornou um erro:No meu caso (como você pode ver no log), o problema era que
client: ::1
, enquanto a configuração permitia apenas o acesso de127.0.0.1
Para resolver o problema, você pode seguir a sugestão do cepharum ou modificar a configuração do host virtual:
(Observe que eu também substituí
listen: 127.0.0.1
pela porta 80 (ipv4 + ipv6) porque a primeira também não funcionava)3. Verifique a configuração e as dependências do sistema
Para verificar se o próprio plug-in está funcionando, execute
(observe que o plug-in deve estar "ativado" - um link simbólico deve estar presente em
/etc/munin/plugins
- leia o manual, se não estiver)Se você receber erros na
LWP
biblioteca (por exemplo,LWP::UserAgent
ouLWP::VERSION
), seu sistema está faltando um pacote exigido pelonginx_status
plugin.No Debian / Ubuntu, execute
No CentOS
Depois disso, teste o plug-in novamente usando
munin-run
. A saída esperada (os números serão diferentes):fonte
/var/log/munin-update.log
(Serviço nginx_status no servername / 127.0.0.1: 4949 não retornou dados para a espera de rótulo), eu poderia ter pesquisado por anos para descobrir quelibwww-perl
estava faltando. Muito obrigado por esta extensa resposta.Possivelmente útil:
Além disso, use a opção debug para executar o munin.
Verifique o arquivo do plug-in quanto a caminhos codificados e verifique se estão corretos para o seu sistema:
O plugin nginx pode contar com a compilação do Nginx com determinados módulos ou com a saída de log em um determinado formato. Existe alguma página de documentação para os plugins?
fonte
O principal é o URL na configuração de munin.
Você vai precisar
Nota
Não
fonte
Instale libwww-perl e execute o comando
munin-run nginx_status
para ver as estatísticas.Reinicie o serviço muni-node.
fonte