Construindo sua stack de Monitoramento - Parte 1

DEVOPS Fev 20, 2020

Neste primeiro post da série construindo sua stack de monitoramento abordaremos a ferramenta Netdata que será uma das 5 ferramentas que  serão usadas para a construção da nossa stack de monitoramento. Que tem como objetivo ser totalmente open source, escalável e dinâmica. Para diversos tipos de ambientes computacionais, buscando identificar e notificar os incidentes.

Ferramentas:

- Netdata
- Prometheus
- AlertManager
- Grafana
- Node Exporter

O Netdata

O Netdata é um software totalmente de código aberto licenciado sob GPLv3+, você pode usá-lo gratuitamente, tanto para quem deseja monitorar de um a dez mil sistemas simultâneos. Todo o código está hospedado em seu projeto no GitHub .

Basicamente ele é um agente de monitoramento altamente otimizado que você pode instalar em todos os seus sistemas linux e contêineres.

O Netdata fornece informações incomparáveis, é em tempo real, de tudo o que acontece nos sistemas que ele executa (incluindo servidores da web, bancos de dados, aplicativos), usando painéis da web altamente interativos. Ele pode ser executado de forma autônoma, sem componentes de terceiros, ou pode ser integrado às cadeias de ferramentas de monitoramento existentes. Neste projeto iremos integrar com o prometheus e o grafana.

O Netdata é rápido e eficiente , projetado para ser executado permanentemente em todos os sistemas ( servidores físicos e virtuais , contêineres , dispositivos IoT ), sem interromper sua função principal.


Funcionamento e Arquitetura

O Netdata possui um mecanismo de gerenciamento de métricas altamente eficiente e altamente modular. Seu design torna o ideal para operações simultâneas e para medidas em tempo real.

Funcionamento do Netdta

Primeiramente, logo após o agente de monitoramento instalado, ele executa a seguinte step.

Collect: Vários processos estão coletando métricas de suas origens usando o protocolo ideal para cada aplicativo e enviando as métricas ao banco de dados. Cada processo de coleta de dados tem acesso de gravação sem bloqueio às métricas que coleta.

Store:
As métricas coletadas são armazenadas em memória RAM num banco de dados round-robin (ring buffer), usando um número de ponto flutuante personalizado.

Check:
Nesta etapa ocorre o processo watchdog independente está avaliando as verificações de integridade das métricas coletadas, disparando alarmes, mantendo um log de transações de saúde e enviando notificações de alarme.

Stream:
Nesta etapa ocorre o processo que transmite detalhadamente a coleta, em tempo real, para os servidores Netdata remotos, assim que são coletados, armazenados e verificados.

Archive: Aqui ocorre o processo de envio para bancos de dados de séries temporais. Para armazenamento de longo prazo.

Query: Nesta etapa as consultas são anexados a um servidor web interno, atendendo a solicitações de API, incluindo consultas de dados.

Infográfico

Esta é uma visão geral de alto nível dos conjuntos de recursos e da arquitetura do Netdata. Clique no link abaixo para interagir com o infográfico.

Infográfico 

Instalação

Pré-requisito
- A porta 19999 tem que estar liberada em seu firewall.

Com os pre-requisitos atendidos, ja podemos instalar o netdata em qualquer sistema Linux seja ele (físico, virtual, contêiner, IoT, borda) e mantê-lo atualizado com os lançamentos automaticamente, basta executar o seguinte comando.

curl -Ss https://my-netdata.io/kickstart.sh

Após instalar basta acessar na web.

http://seu.ip:19999/

System Overview

Painel do Netdata
Para saber mais sobre as soluções que a O2B vem aplicando em seus projetos e como engajar no mundo do DevOps, entre em contato conosco pelo nosso site.

Referências



Gustavo Henrique Esser

Site Reliability Engineering at O2B specialist in network.