O Netdata é uma ferramenta opensource para monitoramento em tempo real de sistemas baseados em Unix. Ela possui uma infinidade de coletores e métricas sobre o uso dos recursos do sistema como: memória, CPU, rede, operações de escrita/leitura no disco etc.
Não obstante, a ferramenta também disponibiliza coletores para aplicações de bancos de dados, servidores web (como o Nginx) entre outros.
A melhor parte de usar o Netdata é que os resultados são imediatos, sem muitas configurações. Você instala e já começa a visualizar os dados coletados. Com o tempo você personaliza as configurações que julgar serem importantes pro seu caso de uso.
Esse artigo não tem o objetivo de teorizar todos os recursos do Netdata, para isso, você pode consultar o site oficial e a sua vasta documentação. A intenção aqui é ser um guia rápido de instalação para que você consiga monitorar o seu servidor em tempo real.
Você pode testar a interface fornecida pelo Netdata e ver as informações padrões que ela oferece através dessa demonstração: https://london.my-netdata.io/
Curso Amazon Web Services (AWS) - EC2 - Fundamentos
Conhecer o cursoInstalando o Netdata
Existem diversos métodos de instalação do Netdata, sendo o mais simples, o que usa a ferramenta oficial de instalação automática e ela suporta todas as distribuições Linux.
Basta executar no seu servidor:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
O processo pode demorar alguns minutos. Muitas das coisas serão compiladas.
É isso. Tá tudo pronto. Na pós-instalação ele inicia o agente e você pode validar isso:
sudo service netdata status
Se exibir active (running)
, está tudo no ponto:
Caso ele não tenha sido iniciado, você pode tentar forçar essa inicialização:
sudo service netdata start
O Netdata abre a porta 19999
para acesso à sua interface web, você pode acessá-lo assim http://seuservidor.com:19999/
. Mas não é uma boa coisa deixar isso público para todas as pessoas que entrarem em seu site. Vamos restringir esse acesso para localhost.
Restringindo o acesso à localhost
Isso pode ser feito editando o arquivo /etc/netdata/netdata.conf
e na seção [web]
remover o comentário #
da linha abaixo e definir o valor dela para o IP local:
[web]
bind to = 127.0.0.1
Depois de cada alteração nos arquivos de configuração do Netdata, é preciso reiniciá-lo
sudo service netdata restart
Estratégias para acesso à interface do Netdata
Agora que bloqueamos o acesso ao socket do Netdata apenas para localhost, temos que definir por onde vamos visualizar os dados e as métricas coletadas do servidor. Existem duas principais estratégias:
-
- Através do seu servidor mesmo, criando um proxy reverso no Nginx e definindo uma senha para acessá-lo na web. Por exemplo, você poderia acessar assim:
www.seusite.com.br/netdata
ounetdata.seusite.com.br
;
- Através do seu servidor mesmo, criando um proxy reverso no Nginx e definindo uma senha para acessá-lo na web. Por exemplo, você poderia acessar assim:
-
- Utilizando o Netdata Cloud, que é a forma mais simples (e é grátis). O Netdata Cloud permite coletar em tempo real os dados e métricas do servidor e organizá-los em espaços e salas de uma forma descentralizada. O Netdata Cloud funciona apenas no modo leitura e toda a comunicação nas duas pontas é feita via uma conexão segura.
Depois de se cadastrar no Netdata Cloud, ele pedirá um nome para o espaço onde as salas de nós monitorados ficarão agrupadas. Você pode colocar o nome que quiser:
Na tela seguinte, ele pedirá para criar uma “War Room”, que basicamente é uma forma de agrupar nós comuns que você estará monitorando. Por exemplo, se você tem 2 ou 3 servidores EC2 para monitorar, uma possível sala (war room) poderia se chamar EC2:
Na próxima etapa, é hora de adicionar o nó do seu servidor:
Em “Rooms” selecione a sala que você acabou de criar. Em seguida é só copiar o comando indicado e executar no servidor onde o agente do Netdata foi instalado. Só avançar até chegar na tela principal, onde o seu nó estará listado. Um exemplo de uma sala com vários nós:
É possível adicionar N nós e N salas no Netdata Cloud. A partir desse momento, é só você entrar no nó e usufruir das informações fornecidas por ele.
O que mais posso fazer?
Não existe lugar melhor para consultar os recursos, configurações e opções que a própria documentação do Netdata. Portanto, recomendo enormemente que você dê uma atenção especial a ela.
O que mais pode ser feito no Netdata?
- Personalização de alertas e configuração de notificações para serem enviadas no seu Telegram, Slack, E-mail, SMS etc;
- Coletores de outros serviços e aplicações;
- Outras features e características você pode visualizar na documentação oficial;
Em um próximo artigo veremos como configurar o Netdata para monitorar a stack PHP-FPM e Nginx.
Até a próxima!