Monitorar o Nginx com o Netdata \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 13 Horas 

 50 Min 

 15 Seg 

   Tempo restante da oferta: 13 50 15 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Monitorar o Nginx com o Netdata  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

# Monitorar o Nginx com o Netdata

 Veja como você pode monitorar as conexões ao servidor Nginx e aos seus logs de acesso com o Netdata.

 [ Kennedy Tedesco ](https://www.treinaweb.com.br/blog/autor/kennedy-tedesco) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/netdata.png)  

No artigo [Monitorar servidor em tempo real com o Netdata](https://www.treinaweb.com.br/blog/monitorar-servidor-em-tempo-real-com-o-netdata/ "Monitorar servidor em tempo real com o Netdata"), vimos o que é o Netdata e como instalá-lo. Agora veremos como monitorar o Nginx com o Netdata.

### Ativando a status page do Nginx

A maioria das instalações do Nginx já vem com o módulo [http\_stub\_status\_module](http://nginx.org/en/docs/http/ngx_http_stub_status_module.html) instalado. Você pode verificar isso executando o comando:

```bash
nginx -V 2>&1 | grep -o with-http_stub_status_module

```

Se você visualizar um retorno assim:

```bash
with-http_stub_status_module

```

Significa que a instalação do seu Nginx tem esse módulo instalado. Esse é o primeiro passo para que possamos prosseguir aqui. Esse módulo fornece informações em tempo real sobre as conexões e requisições ao servidor.

Só que para ter acesso a essas informações, é preciso definir uma `location` (um endpoint) de acesso a elas e normalmente utiliza-se `/nginx_status`.

[  ![Amazon Web Services (AWS) - EC2 - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/aws-ec2.svg)   Curso Amazon Web Services (AWS) - EC2 - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/amazon-web-services-aws-ec2-elastic-compute-cloud-fundamentos)

### A location /nginx\_status

Algumas pessoas definem essa location dentro do virtualhost do domínio da aplicação delas e acessam assim:

```text
http://www.meusite.com/nginx_status

```

Ao acessar, as seguintes informações são impressas:

```text
Active connections: 134 
server accepts handled requests
 979653 979653 4496872 
Reading: 0 Writing: 5 Waiting: 130 

```

- **Active connections:** Número de conexões abertas. Isso não reflete o número de usuário online no seu site, uma vez que um único usuário pode ter mais de uma conexão aberta (de forma simultânea);
- **Server accepts handled requests:** O primeiro valor é o total de conexões aceitas e o segundo valor é o total de conexões que o nginx definitivamente chegou a lidar, e na maioria das vezes esses dois valores são iguais. O terceiro valor refere-se ao número de solicitações recebidas. Dividindo o terceiro valor pelo segundo, chega-se ao número de requisições por conexão. No caso desse exemplo: `4496872 / 979653 = 4,5`, ou seja, 4,5 requisições por conexão;
- **Reading:** O número atual de conexões em que o nginx está lendo o cabeçalho da solicitação;
- **Writing:** O número atual de conexões em que o nginx está escrevendo uma resposta de retorno ao cliente;
- **Waiting:** O número atual de conexões inativas aguardando uma solicitação (algumas conexões são mantidas abertas).

Mas ter essas informações de forma pública e acessível por todos, pode não fazer tanto sentido. A recomendação aqui é:

- **1)** Se for pra liberar um acesso externo, fora da rede local do servidor, bloqueie esse acesso por IP ou defina uma autenticação nesse endpoint (e isso pode ser feito no próprio Nginx mesmo);
- **2)** Permita apenas acesso local a esse endpoint (que é a opção mostrada nesse artigo);

### Definindo a location /stub\_status

O bloco `server` a ser adicionado é:

```nginx
server {
    listen 1701;
    server_name 127.0.0.1 localhost;

    location /stub_status {
        access_log off;
        stub_status;
        allow 127.0.0.1;
        deny all;
    }
}

```

Ou seja, ficaremos na porta `1701` (você pode escolher outra porta se desejar) do *localhost* escutando pelas requisições ao endpoint `stub_status` e quando isso acontecer, a diretiva `stub_status;` é executada e retorna as informações atuais sobre o servidor. A diretiva `allow 127.0.0.1;` especifica que apenas quem tiver acesso à rede local poderá requisitar esse endpoint.

Reinicie o nginx:

```bash
sudo service nginx restart

```

E então você pode testar se o endpoint está acessível executando:

```bash
curl 127.0.0.1:1701/stub_status

```

A primeira etapa está feita. Agora é hora da gente configurar o Netdata pra ele buscar essas informações desse endpoint que acabamos de definir.

### Configurando o Netdata para monitorar o Nginx

Para que o Netdata possa exibir gráficos dessas informações, temos que configurar o coletor do Nginx. Acesse o diretório de configuração:

```bash
cd /etc/netdata

```

E então execute:

```bash
sudo ./edit-config python.d/nginx.conf

```

É [nesse arquivo](https://github.com/netdata/netdata/blob/master/collectors/python.d.plugin/nginx/nginx.conf) que você vai configurar quais servidores Nginx você está monitorando. É possível monitorar servidores locais ou remotos.

Deverá existir nesse arquivo três diretivas padrões:

```ini
localhost:
  name : 'local'
  url  : 'http://localhost/stub_status'

localipv4:
  name : 'local'
  url  : 'http://127.0.0.1/stub_status'

localipv6:
  name : 'local'
  url  : 'http://[::1]/stub_status'

```

Podemos trocar as três por apenas uma:

```ini
localhost:
  name : 'local'
  url  : 'http://localhost:1701/stub_status'

```

Salve o arquivo e reinicie o Netdata:

```bash
sudo service netdata restart

```

E agora é só acessar a interface do seu Netdata e navegar pelo novo item “nginx local” que ele adicionou:

![netdata nginx](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/netdata-nginx.png)

### Monitorar os logs de acesso do Nginx

Outro coletor disponível no Netdata é o “Web log” que é capaz de monitorar os logs de acesso do Nginx (ou apache) e assim fornecer uma visão bem ampla da quantidade de requisições que estão tendo sucesso/erro, o tipo delas etc:

![netdata weblog](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/netdata-weblog.png)

Para ativá-lo, acesse o diretório de configuração do Netdata:

```bash
cd /etc/netdata/

```

E então execute:

```bash
sudo ./edit-config python.d/web_log.conf

```

Um exemplo de configuração que pode ser adicionada nesse arquivo:

```ini
nginx:
  name: 'nginx'
  path: '/var/log/nginx/access.log'
  categories:
    blog: '^/blog'
    checkout: '^/checkout'

```

Em `path` temos o caminho onde o Nginx guarda os logs de acesso. Você pode confirmar isso no arquivo de configuração do Nginx:

```bash
sudo nano /etc/nginx/nginx.conf

```

É preciso que exista uma diretiva assim:

```ini
access_log /var/log/nginx/access.log

```

Esse que é o log de acesso geral de todo o Nginx.

Em `categories` é onde você pode agrupar essas informações pelo endpoint de acesso. Por exemplo, você notou que está tendo muitas requisições com erro 500, se você tem elas agrupadas no Netdata, você consegue distinguir que a maioria dos erros estão vindo do seu Blog (`www.seusite.com/blog`), por exemplo. Essa configuração `categories` é opcional. Você pode simplesmente removê-la.

Salve o arquivo e reinicie o Netdata:

```bash
sudo service netdata restart

```

Pronto. Você está apto a visualizar os logs do Nginx diretamente pelo Netdata.

Até a próxima!

[  ![Amazon Web Services (AWS) - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/aws.svg)   Curso Amazon Web Services (AWS) - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/amazon-web-services-aws-fundamentos)

- [ #Cloud Computing ](https://www.treinaweb.com.br/blog/tag/cloud-computing)
- [ #nginx ](https://www.treinaweb.com.br/blog/tag/nginx)
- [ #Netdata ](https://www.treinaweb.com.br/blog/tag/netdata)

Autor

 ![Kennedy Tedesco](//secure.gravatar.com/avatar/236c86e9469327ba7a9250ff15fef424?d=mm)

## Kennedy Tedesco

 Head de desenvolvimento. Vasta experiência em desenvolvimento Web com foco em PHP. Graduado em Sistemas de Informação. Pós-graduando em Arquitetura de Software Distribuído pela PUC Minas. Zend Certified Engineer (ZCE) e Coffee Addicted Person (CAP). [@KennedyTedesco](https://twitter.com/KennedyTedesco) 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/kennedy-tedesco)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/netdata-400x280.png)  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

     7 anos atrás

    ##  [ Monitorar servidor em tempo real com o Netdata ](https://www.treinaweb.com.br/blog/monitorar-servidor-em-tempo-real-com-o-netdata) 

     O Netdata é uma ferramenta opensource que te permite monitorar o seu servidor em tempo real. Visualize métricas relacionadas a memória, CPU, rede etc.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/08/14131229/HEALTH-CHECKS-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     7 anos atrás

    ##  [ Verificando a integridade da aplicação ASP.NET Core com Health Checks ](https://www.treinaweb.com.br/blog/verificando-a-integridade-da-aplicacao-asp-net-core-com-health-checks) 

     Verificar e monitorar a integridade de uma aplicação web é algo essencial, principalmente em ambientes distribuídos. O ASP.NET Core facilita esta tarefa através de Health Checks, como você verá neste artigo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/07/capa-circuit-breaker-400x280.png)  [ Padrões de Projeto ](https://www.treinaweb.com.br/blog/categoria/padroes-de-projeto) 

     6 anos atrás

    ##  [ O que é Circuit Breaker? ](https://www.treinaweb.com.br/blog/o-que-e-circuit-breaker) 

     A ação de usuários disparam diversos serviços que podem falhar ou ficar indisponíveis. Conheça neste artigo o Circuit Breaker e como ele nos auxilia nesse quesito.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/12/11153426/capa-dba-400x280.png)  [ Bancos de Dados ](https://www.treinaweb.com.br/blog/categoria/bancos-de-dados) 

     9 anos atrás

    ##  [ Como se tornar um DBA? ](https://www.treinaweb.com.br/blog/como-se-tornar-um-dba) 

     Conheça mais um pouco sobre essa carreira e veja se você tem o perfil.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/afinal-o-que-e-um-container-400x280.png)  [ DevOps ](https://www.treinaweb.com.br/blog/categoria/devops) 

     6 anos atrás

    ##  [ Afinal, o que é um container? ](https://www.treinaweb.com.br/blog/afinal-o-que-e-um-container) 

     Confira neste artigo o que vem a ser um container.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/PROFISSIONAL-TESTES-400x280.png)  [ Testes e Projetos ](https://www.treinaweb.com.br/blog/categoria/testes-e-projetos) 

     6 anos atrás

    ##  [ Como é o dia a dia de um profissional de teste? ](https://www.treinaweb.com.br/blog/como-e-o-dia-a-dia-de-um-profissional-de-teste) 

     O conhecimento técnico e a visão de negócio deste profissional também lhe permite colaborar no desenvolvimento do software. Saiba mais neste artigo!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/ANALISTA-NEGÓCIO-400x280.png)  [ Testes e Projetos ](https://www.treinaweb.com.br/blog/categoria/testes-e-projetos) 

     6 anos atrás

    ##  [ Qual é o papel do Analista de Negócios no mundo digital? ](https://www.treinaweb.com.br/blog/qual-e-o-papel-do-analista-de-negocios-no-mundo-digital) 

     O Analista de Negócios atua como um intermediário entre as diferentes partes interessadas de um projeto para obter, analisar, informar e validar os requisitos de negócios. Saiba mais sobre o dia a dia deste profissional!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/09/Quality-Assurance-400x280.png)  [ Testes e Projetos ](https://www.treinaweb.com.br/blog/categoria/testes-e-projetos) 

     6 anos atrás

    ##  [ Quality Assurance (QA) e sua importância no desenvolvimento de software ](https://www.treinaweb.com.br/blog/quality-assurance-qa-e-sua-importancia-no-desenvolvimento-de-software) 

     Aplicar os métodos de QA geram confiança e segurança aos clientes, indicando que os seus produtos terão a qualidade esperada na etapa de implantação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/10/09001515/CAPA-BURNDOWN-BURNOUT-400x280.png)  [ Tecnologia ](https://www.treinaweb.com.br/blog/categoria/tecnologia) 

     7 anos atrás

    ##  [ Gráficos Burndown e Burnup: qual a diferença? ](https://www.treinaweb.com.br/blog/graficos-burndown-e-burnup-qual-a-diferenca) 

     Confira neste artigo a diferença dos gráficos Burndown e Burnup, utilizados no monitoramento de projetos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/10/04114838/SISTEMA-ÁREAS-400x280.png)  [ Tecnologia ](https://www.treinaweb.com.br/blog/categoria/tecnologia) 

     7 anos atrás

    ##  [ Sistemas de Informação e suas áreas de atuação ](https://www.treinaweb.com.br/blog/sistemas-de-informacao-e-suas-areas-de-atuacao) 

     Veja neste artigo quais as áreas de atuação para um profissional graduado em Sistemas de Informação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/09/10233409/capa-gantt-400x280.png)  [ Testes e Projetos ](https://www.treinaweb.com.br/blog/categoria/testes-e-projetos) 

     7 anos atrás

    ##  [ Gráfico de Gantt: o que é e por que utilizar? ](https://www.treinaweb.com.br/blog/grafico-de-gantt-o-que-e-e-por-que-utilizar) 

     Veja neste artigo o que é o Gráfico de Gantt e no que ele pode nos ajudar na gestão de projetos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/07/voce-sabe-o-que-e-cobit-400x280.png)  [ COBIT ](https://www.treinaweb.com.br/blog/categoria/cobit) 

     9 anos atrás

    ##  [ Você sabe o que é COBIT? ](https://www.treinaweb.com.br/blog/voce-sabe-o-que-e-cobit) 

     Conheça um pouco mais sobre o COBIT, um estabelecido framework de governança.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **13h 50min 15s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
