Monitoramento Nginx
Escrito por Hitfy
Implantação de Monitoramento Nginx
Pré-requisitos
- Nginx instalado e funcional (nginx -v)
- Zabbix Agent instalado e configurado
- Acesso root ou sudo no servidor
Verificar se o módulo "http_stub_status_module" está habilitado
Execute:
nginx -V 2>&1 | grep -o with-http_stub_status_module
Se retornar with-http_stub_status_module, o módulo já está disponível.
Caso contrário, será necessário instalar uma versão do Nginx que o inclua (ex: via repositório padrão ou EPEL).
Editar a configuração do Nginx
Abra o arquivo de configuração principal do Nginx (ou o bloco ativo do seu site):
sudo vim /etc/nginx/nginx.conf
ou, dependendo da distribuição:
sudo vim /etc/nginx/conf.d/default.conf
Dentro do bloco server {...}, adicione os trechos abaixo:
location = /nginx_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
location = /basic_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
Exemplo prático:
server {
listen 80 default_server;
server_name _;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ =404;
}
location = /nginx_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Ainda no arquivo de configurações, verifique qual a porta o Nginx está executando.
Geralmente ficará dentro de "server {...}"
Exemplo em que a porta é 80:
server {
listen 80 default_server;
listen [::]:80 default_server;
[...]
}
Teste de configuração do Nginx
Executar o comando abaixo para testar a sintaxe
sudo nginx -t
O retorno deve ser:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Caso tenha dado algum erro, revisar as configurações.
Reload Nginx
Executar o comando para recarregar o serviço:
systemctl reload nginx
Teste de requisição
Executar os comando abaixo para testar as conexões:
curl http://127.0.0.1:8181/nginx_status curl http://127.0.0.1:8181/basic_status
Caso o retorno seja parecido com o abaixo, basta adicionar ao monitoramento informando a porta do Nginx.
Active connections: 1 server accepts handled requests 6 6 6 Reading: 1 Writing: 1 Waiting: 0