Pesquisa de site

Como monitorar o desempenho do servidor CentOS 8/7 usando Netdata


Existem inúmeras ferramentas de monitoramento que são usadas para monitorar o desempenho dos sistemas e enviar notificações caso algo dê errado. No entanto, as etapas de instalação e configuração envolvidas costumam ser tediosas.

Netdata é uma ferramenta de monitoramento e solução de problemas de código aberto em tempo real que requer apenas algumas etapas para ser instalada. O repositório Git vem com um script automatizado que lida com a maior parte do processo de instalação e configuração e elimina a configuração complicada associada a outras ferramentas de monitoramento.

Netdata tornou-se extremamente popular desde seu lançamento inicial em outubro de 2013. Ele coleta métricas em tempo real, como uso de CPU e RAM, estatísticas de largura de banda e utilização de disco e as exibe em gráficos fáceis de interpretar/ gráficos.

Ela deu grandes saltos e saltos e isso lhe rendeu um lugar nas estrelas em ascensão da Forbes 2020 Cloud 100. Esta lista constitui as 100 principais empresas de nuvem privada.

Neste artigo, veremos como você pode instalar o Netdata no CentOS 8/7 para monitorar em tempo real, o desempenho e o monitoramento da integridade de servidores e aplicativos.

Plataformas suportadas

Netdata suporta as seguintes distribuições:

  • CentOS 8 e CentOS 7
  • RHEL 8 e RHEL 7
  • FedoraLinux

Como instalar o Netdata no CentOS Linux

1. Antes de nos aprofundarmos na instalação do Netdata, alguns pacotes de pré-requisitos são obrigatórios. Mas primeiro, atualize o sistema e instale o repositório EPEL conforme mostrado.

sudo yum update
sudo yum install epel-release

2. Em seguida, instale os pacotes de software necessários conforme mostrado.

sudo yum install gcc make git curl zlib-devel git automake libuuid-devel libmnl autoconf pkgconfig findutils

3. Depois de instalar os pacotes de pré-requisitos, clone o repositório git Netdata conforme mostrado.

git clone https://github.com/netdata/netdata.git --depth=100

4. Em seguida, navegue até o diretório Netdata e execute o script install-required-packages.sh. O script detecta sua distribuição Linux e instala pacotes adicionais necessários durante a instalação do Netdata.

cd netdata/
./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata 

5. Finalmente, para instalar o Netdata, execute o script automatizado Netdata conforme mostrado abaixo.

sudo ./netdata-installer.sh

Após a execução do script, você será informado sobre onde os arquivos Netdata cruciais serão armazenados. Isso inclui arquivos de configuração, arquivos da web, plug-ins, arquivos de banco de dados e arquivos de log, para mencionar apenas alguns.

6. Pressione ‘ENTER‘ para iniciar o processo de instalação. Durante o processo de instalação, você receberá algumas dicas sobre como acessar o Netdata no navegador e gerenciar o Netdata, como iniciá-lo e interrompê-lo.

O script é executado por um bom tempo, fazendo todas as configurações e ajustes necessários durante o processo de instalação. No meu caso, demorou cerca de 3 a 5 minutos e, uma vez feito isso, a saída exibida deverá ser uma confirmação de que a instalação foi bem-sucedida.

7. Uma vez instalado, precisamos ter o daemon Netdata instalado e funcionando. Para começar, ative o daemon Netdata na inicialização e verifique o status, invoque os seguintes comandos:

sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata

8. Por padrão, Netdata escuta na porta 19999 e você pode confirmar isso usando o comando netstat conforme mostrado:

sudo netstat -pnltu | grep netdata

9. Precisamos abrir esta porta no firewall para ter acesso ao Netdata através de um navegador. Portanto execute os comandos abaixo:

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

10. Para acessar o Netdata, abra seu navegador e navegue no URL conforme mostrado:

http://centos8-ip:19999/

Você verá um painel mostrando o desempenho geral do sistema em gráficos intuitivos e interessantes.

Sinta-se à vontade para dar uma olhada nos diferentes gráficos clicando nas métricas listadas na barra lateral direita. Por exemplo, para ter uma ideia dos serviços do systemd em execução, clique na opção ‘serviços do systemd’ conforme mostrado.

Protegendo Netdata com autenticação básica no CentOS

Como você deve ter observado de forma alarmante, não existe nenhuma forma de autenticação fornecida pelo Netdata. Isso implica que praticamente qualquer pessoa pode acessar o painel, desde que obtenha o endereço IP da Netdata.

Felizmente, podemos configurar a autenticação básica usando o programa htpasswd e o servidor web Nginx como proxy reverso. Portanto, vamos instalar o servidor web Nginx.

sudo dnf install nginx

Com o Nginx instalado, vamos criar um arquivo de configuração dentro do diretório /etc/nginx/conf.d. No entanto, sinta-se à vontade para usar o diretório sites-available se estiver usando o Nginx para outros fins além do Netdata.

sudo vim /etc/nginx/conf.d/default.conf

Adicione toda a configuração a seguir e certifique-se de alterar as diretivas server_ip e example.com com seu próprio endereço IP e nome de servidor.

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Para autenticação do usuário, criaremos um nome de usuário e senha para um usuário chamado tecmint usando a ferramenta htpasswd e manteremos as credenciais sob o netdata-access arquivo.

sudo htpasswd -c /etc/nginx/netdata-access tecmint

Forneça a senha e confirme-a.

Em seguida, reinicie o servidor web Nginx para que as alterações tenham efeito.

sudo systemctl restart nginx

Para testar se a configuração deu certo, prossiga e navegue no endereço IP do seu servidor.

http://server-ip

Depois disso, você terá acesso ao painel Netdata.

E é isso, pessoal. Orientamos você na instalação da ferramenta de monitoramento Netdata no CentOS 8 e configuramos a autenticação básica para proteger a ferramenta de monitoramento. Envie-nos uma mensagem e conte-nos como foi.