Pesquisa de site

Como monitorar o desempenho do Nginx usando Netdata no CentOS 7


Netdata é uma ferramenta gratuita de código aberto, escalável, adaptável, personalizável, extensível e poderosa de monitoramento de desempenho e integridade em tempo real para sistemas Linux, que coleta e visualiza métricas. Funciona em desktops, computadores pessoais, servidores, dispositivos incorporados, IoT e muito mais.

Leia também: Como monitorar o desempenho do Apache usando Netdata no CentOS 7

É uma ferramenta de monitoramento da integridade do sistema que permite monitorar como seus sistemas e aplicativos ou serviços, como servidores da Web, estão operando ou por que estão lentos ou se comportando mal. É extremamente eficaz e eficiente em termos de uso da CPU, bem como de outros recursos do sistema.

Neste artigo, explicaremos como monitorar o desempenho do servidor web Nginx HTTP usando Netdata no CentOS 7 ou RHEL 7 > distribuição.

Ao final deste guia, você poderá assistir a visualizações de conexões ativas, solicitações, status e taxa de conexão do seu servidor web Nginx.

Requisitos:

  1. Um servidor CentOS 7 ou servidor RHEL 7 com instalação mínima.
  2. Instalação do servidor HTTP Nginx com ngx_http_stub_status_module ativado.

Etapa 1: Instale o Nginx no CentOS 7

1. Primeiro comece habilitando o Repositório EPEL e depois instale o servidor Nginx HTTP dos repositórios de software EPEL usando o gerenciador de pacotes YUM.

yum install epel-release
yum install nginx 

2. A seguir, verifique a versão do Nginx instalada em seu sistema, ela deve ser compilada com o módulo stub_status indicado pelo - -with-http_stub_status_module argumento de configuração, conforme mostrado na captura de tela a seguir.

nginx -V

3. Depois de instalar o Nginx com sucesso, inicie-o e habilite-o para inicialização automática na inicialização do sistema e certifique-se de que ele esteja instalado e funcionando.

systemctl status nginx
systemctl enable nginx
systemctl status nginx

4. Se você estiver executando um firewall dinâmico, será necessário abrir as portas 80 (HTTP) e 443 ( HTTPS) que o servidor web escuta, para solicitações de conexão do cliente.

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload 

Etapa 2: Etapa 2: Habilitar módulo Nginx Stub_Status

5. Agora habilite o módulo stub_status que o netdata usa para coletar métricas do seu servidor web Nginx.

vim /etc/nginx/nginx.conf

Copie e cole a configuração de localização abaixo no bloco do servidor, conforme mostrado na captura de tela.

location /stub_status {
 	stub_status;
 	allow 127.0.0.1;	#only allow requests from localhost
 	deny all;		#deny all other hosts	
 }

6. Em seguida, teste a nova configuração do nginx em busca de erros e reinicie o serviço nginx para efetuar as alterações recentes.

nginx -t
systemctl restart nginx

7. Em seguida, teste a página de status do nginx usando a ferramenta de linha de comando curl.

curl http://127.0.0.1/stub_status

Etapa 3: Instale o Netdata no CentOS 7

8. Existe um script de shell de uma linha que você pode usar para iniciar a instalação da versão mais recente do netdata em seu repositório github. Este script baixará outro script para detectar sua distribuição Linux e instalará os pacotes de sistema necessários para construir o netdata; depois disso, obtém os arquivos de origem netdata mais recentes; constrói e instala.

Use o comando abaixo para iniciar o script kickstarter, a opção all permite instalar pacotes necessários para todos os plugins netdata incluindo aqueles para Nginx.

bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

Se você não estiver acessando o sistema como root, você será solicitado a inserir sua senha de usuário para o comando sudo e também será solicitado a confirmar certas operações pressionando [Entrar].

8. Após compilar e instalar o netdata, o script iniciará automaticamente o serviço netdata por meio do gerenciador de serviços systemd e permitirá que ele seja iniciado na inicialização do sistema. O Netdata escuta na porta 19999 por padrão.

9. Em seguida, abra a porta 19999 no firewall para acessar a interface da web do netdata.

firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --reload 

Etapa 4: configurar o Netdata para monitorar o desempenho do Nginx

9. A configuração do netdata para o plugin Nginx é armazenada no arquivo de configuração /etc/netdata/python.d/nginx.conf, escrito em YaML formato.

vim /etc/netdata/python.d/nginx.conf

A configuração padrão é suficiente para você começar a monitorar seu servidor web Nginx.

Caso você tenha feito alguma alteração no arquivo de configuração, após ler a documentação, reinicie o serviço netdata para efetuar as alterações.

systemctl restart netdata

Etapa 5: Monitore o desempenho do Nginx usando Netdata

10. Agora abra um navegador da web e use o seguinte URL para acessar a interface da web do netdata.

http://domain_name:19999
OR
http://SERVER_IP:19999

Na lista de plugins do lado direito, clique em “nginx local” para começar a monitorar seu servidor web Nginx. Você poderá assistir a visualizações de conexões ativas, solicitações, status e taxa de conexão, conforme mostrado na captura de tela a seguir.

Repositório Netdata Github: https://github.com/firehol/netdata

Isso é tudo! Netdata é uma ferramenta distribuída de monitoramento de desempenho e integridade em tempo real para sistemas Linux. Neste artigo, mostramos como monitorar o desempenho do servidor web Nginx usando netdata no CentOS 7. Use o formulário de comentários abaixo para compartilhar quaisquer dúvidas ou opiniões sobre este guia.