10. Ferramentas de monitoramento do sistema para Ubuntu Server: guia completo

Dominar as ferramentas de monitoramento do sistema para Ubuntu Server é essencial para garantir desempenho ideal, diagnosticar problemas e manter a confiabilidade do sistema. Neste tutorial, exploraremos as melhores ferramentas de monitoramento do sistema disponíveis para servidores Ubuntu, incluindo monitoramento de recursos em tempo real, E/S de disco, atividade de rede e painéis de servidor.


Artigo anterior:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud

03.Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gerenciamento de usuários e permissões no Ubuntu Server: guia completo – SysOSX: AI & Cloud

05. Fundamentos de rede para Ubuntu Server: guia completo – SysOSX: AI & Cloud

06. Instalação e gerenciamento de software no Ubuntu Server: guia completo – SysOSX: AI & Cloud

07.Aplicação de patches e atualização do Ubuntu Server: guia completo – SysOSX: AI & Cloud

08. Protegendo seu servidor Ubuntu: passos práticos para reforço e proteção – SysOSX: AI & Cloud

09. Auditoria e registro de logs no servidor Ubuntu



Usar htop e top para monitoramento de recursos em tempo real

Introdução a htop e top

Ambas htop e top são ferramentas de linha de comando essenciais para monitorar os recursos do sistema em tempo real. Elas exibem informações como uso de CPU, consumo de memória e processos em execução.

Instalação e execução de htop (já vem instalado por padrão)

Para instalar htop, execute:

sudo apt update
sudo apt install htop

Para iniciar htop, basta digitar:

htop

Principais recursos e cenários de uso de htop

htop é ideal para:

  1. Identificar processos que consomem muitos recursos: você pode ordenar os processos por uso de CPU ou memória para encontrar rapidamente os que mais consomem recursos.
  2. Encerrar processos: Use F9 para encerrar processos que não respondem ou problemáticos diretamente da interface do htop .
  3. Monitorar threads: expanda os processos para ver threads individuais e seu uso de recursos.
  4. Personalizar colunas: Pressione F2 para configurar a exibição e adicionar/remover métricas como E/S de disco ou utilização de rede.

Usar top

top é uma ferramenta mais simples, pré-instalada em servidores Ubuntu. Para executá-la:

top

Comandos principais para top:

  • Pressione Shift + p para ordenar por uso de CPU.
  • Pressione Shift + m para ordenar por uso de memória.
  • Pressione q para sair.

Instalação e configuração de sysstat para métricas de desempenho

O que é sysstat?

sysstat é um conjunto de ferramentas para coletar e relatar métricas de desempenho do sistema ao longo do tempo. Inclui utilitários como iostat, vmstat, e sar.

Instalação de sysstat

Para instalar sysstat:

sudo apt update
sudo apt install sysstat

Configuração de sysstat

Habilite a coleta de dados editando o arquivo de configuração:

sudo nano /etc/default/sysstat

Altere ENABLED="false" para ENABLED="true". Salve, saia e reinicie o serviço:

sudo systemctl restart sysstat

Usar sysstat e suas ferramentas

  • iostat: monitorar o desempenho de E/S de disco.iostat
  • vmstat: monitorar estatísticas de memória, CPU e E/S.vmstat
  • sar: gerar relatórios históricos da atividade do sistema. sar -u 5 10 # CPU usage every 5 seconds for 10 intervals

Monitoramento de E/S de disco e atividade de rede

Monitoramento de E/S de disco com iotop

Use ferramentas como iostat (do sysstat) ou iotop para monitorar a E/S de disco em tempo real.

Para instalar iotop:

sudo apt update
sudo apt install iotop

Execute iotop com:

sudo iotop

No entanto, alguns usuários podem encontrar o seguinte erro ao executar iotop:

CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %

Como corrigir o erro do iotop .

Esse problema ocorre porque o kernel não tem o recurso CONFIG_TASK_DELAY_ACCT , necessário para que iotop exiba as porcentagens de SWAPIN e IO. Felizmente, isso pode ser resolvido atualizando a configuração do GRUB.

Etapas para corrigir o erro

  • Edite o arquivo de configuração do GRUB:
sudo nano /etc/default/grub
  • Adicione a opção delayacct à entrada GRUB_CMDLINE_LINUX_DEFAULT . Se a linha estiver inicialmente vazia (GRUB_CMDLINE_LINUX_DEFAULT=""), atualize-a da seguinte forma: GRUB_CMDLINE_LINUX_DEFAULT="delayacct" Se a linha já contiver outras opções, acrescente delayacct às opções existentes, separadas por um espaço. Por exemplo:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash delayacct"
  • Atualize o GRUB para aplicar as alterações:
sudo update-grub
  • Reinicie o servidor:
 sudo reboot

    Após a reinicialização, o erro deve estar resolvido e iotop funcionará corretamente.

    Usar `iotop

    Depois que o problema for corrigido, você pode executar iotop para monitorar a E/S de disco:

    sudo iotop
    
    

    O que você pode fazer com iotop

    • Identificar processos que causam alta E/S de disco.
    • Monitorar operações de leitura/gravação em tempo real.
    • Ordenar processos por uso de disco.

    Monitoramento de atividade de rede

    Usar iftop

    Para instalar iftop:

    sudo apt update
    sudo apt install iftop
    

    Execute iftop com:

    sudo iftop
    
    

    Usar nload

    Para instalar nload:

    sudo apt update
    sudo apt install nload
    

    Execute nload com:

    nload
    
    

    Configuração de painéis de servidor com o Cockpit

    O que é o Cockpit?

    Cockpit é um painel gráfico baseado na web para monitorar e gerenciar servidores. Ele fornece informações em tempo real sobre CPU, memória, uso de disco e atividade de rede.

    Instalação do Cockpit

    Para instalar o Cockpit:

    sudo apt update
    sudo apt install cockpit
    

    Acesso ao Cockpit

    Inicie o serviço do Cockpit:

    sudo systemctl start cockpit.socket
    sudo systemctl enable cockpit.socket
    

    Acesse o painel navegando até:

    https://<your-server-ip>:9090
    
    

    Recursos do Cockpit

    • Monitorar o desempenho do sistema visualmente.
    • Gerenciar serviços, logs e contas de usuário.
    • Ver o uso de disco e a atividade de rede.

    Embora ferramentas como htop, sysstat, e Cockpit sejam excelentes para a maioria das necessidades de monitoramento de servidores, existem outras ferramentas avançadas que podem fornecer informações mais detalhadas e melhor visualização para ambientes complexos. Abaixo estão algumas ferramentas de monitoramento adicionais que você pode considerar:

    Prometheus e Grafana

    Prometheus

    Prometheus é um kit de ferramentas de monitoramento e alerta de código aberto projetado para confiabilidade e escalabilidade. É amplamente usado em ambientes nativos da nuvem e é particularmente adequado para monitorar sistemas distribuídos e microsserviços.

    Principais recursos:

    • Banco de dados de séries temporais: armazena métricas com eficiência, com carimbos de data/hora.
    • Linguagem de consulta poderosa (PromQL) para analisar métricas.
    • Sistema de alertas: integrado a ferramentas como o Alertmanager para notificações.
    • Arquitetura baseada em pull: o Prometheus coleta ativamente métricas dos alvos.

    Casos de uso:

    • Monitorar o uso de CPU, memória e disco em vários servidores.
    • Acompanhar métricas específicas do aplicativo (por exemplo, latência de solicitações HTTP, taxas de erro).
    • Gerar alertas para métricas incomuns ou falhas do sistema.

    Instruções de instalação:
    Para instalar o Prometheus no Ubuntu:

    sudo apt update
    wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
    tar xvf prometheus-2.44.0.linux-amd64.tar.gz
    cd prometheus-2.44.0.linux-amd64
    ./prometheus
    

    Acesse o Prometheus navegando até:

    http://<your-server-ip>:9090
    
    

    Observe que tanto o Prometheus quanto o Cockpit usam a porta 9090 por padrão; se você os usar ao mesmo tempo, talvez queira mudar a porta padrão:
    Resolução do conflito de portas entre Prometheus e Cockpit

    Opção 1: alterar a porta do Prometheus

    Você pode configurar o Prometheus para usar uma porta diferente modificando seu arquivo de configuração.

    • Abra o arquivo de configuração do Prometheus:
     nano prometheus.yml
    
    • Adicione ou modifique a flag --web.listen-address no comando de inicialização do Prometheus ou no arquivo de serviço para especificar uma porta diferente (por exemplo, 9091):
    --web.listen-address=:9091
    
    • Reinicie o Prometheus para aplicar as alterações:
     sudo systemctl restart prometheus
    
    • Acesse o Prometheus usando a nova porta:
     http://<your-server-ip>:9091
    

      Opção 2: alterar a porta do Cockpit

      A porta padrão do Cockpit também pode ser alterada se você preferir manter o Prometheus na porta 9090.

      • Crie um arquivo de configuração personalizado para o Cockpit:
      sudo nano /lib/systemd/system/cockpit.socket
      
      • Adicione as seguintes linhas para especificar uma nova porta (por exemplo, 9092): ListenStream=9092
      • Reinicie o serviço do Cockpit:
      systemctl daemon-reload
      systemctl restart cockpit.socket
      
      • Acesse o Cockpit usando a nova porta: https://<your-server-ip>:9092

      Opção 3: usar um proxy reverso

      Se mudar as portas não for o ideal, você pode usar um proxy reverso (por exemplo, Nginx ou Apache) para mapear os dois serviços para URLs diferentes, mantendo as portas padrão.

      Por exemplo:

      • Prometheus: 
      http://<your-server-ip>/prometheus
      
      • Cockpit: 
      http://<your-server-ip>/cockpit
      

        Recomendação

        Se você usa as duas ferramentas com frequência:

        Documente as alterações de porta para referência futura ou para outros administradores.

        Altere Prometheus para a porta 9091 , pois o Cockpit é acessado com mais frequência por meio de sua porta padrão 9090.


        Grafana

        Grafana é uma plataforma de visualização poderosa que se integra perfeitamente ao Prometheus. Ela permite criar painéis dinâmicos para visualizar métricas e tendências.

        Principais recursos:

        • Suporte a várias fontes: funciona com Prometheus, Elasticsearch, MySQL e muito mais.
        • Painéis personalizados: crie gráficos interativos, mapas de calor e tabelas.
        • Alertas: configure alertas com base em limites para métricas importantes.
        • Compartilhamento: compartilhe painéis facilmente com as equipes.

        Casos de uso:

        • Visualizar métricas de desempenho do servidor coletadas pelo Prometheus.
        • Monitorar tendências ao longo do tempo para um melhor planejamento de capacidade.
        • Exibir dados de várias fontes em um painel unificado.

        Instruções de instalação:
        Para instalar o Grafana no Ubuntu:

        sudo apt update
        sudo apt install -y software-properties-common
        sudo wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
        sudo echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
        sudo apt update
        sudo apt install grafana
        sudo systemctl start grafana-server
        sudo systemctl enable grafana-server
        sudo systemctl status grafana-server
        

        Acesse o Grafana navegando até:

        http://<your-server-ip>:3000
        
        

        Nagios

        Nagios é uma das ferramentas de monitoramento de infraestrutura mais populares. Ele fornece monitoramento e alertas abrangentes para servidores, dispositivos de rede e aplicativos. É altamente personalizável e oferece suporte a plug-ins para funcionalidade estendida.

        Principais recursos:

        • Monitorar a integridade do servidor: acompanhar o uso de CPU, memória, disco e muito mais.
        • Monitoramento de rede: detectar problemas com roteadores, switches e firewalls.
        • Alertas: enviar notificações por e-mail, SMS ou integrações com o Slack.
        • Ampla biblioteca de plug-ins: monitorar bancos de dados, servidores web e outros serviços.

        Casos de uso:

        • Monitorar servidores e aplicativos críticos em ambientes de produção.
        • Receber alertas quando o espaço em disco estiver acabando ou a utilização da CPU estiver alta.
        • Monitorar o tempo de atividade e a disponibilidade de dispositivos de rede.

        Instruções de instalação:
        Para instalar o Nagios no Ubuntu:

        sudo apt install nagios4 nagios-plugins
        sudo a2enmod rewrite cgi
        systemctl restart apache2
        sudo systemctl status nagios4
        sudo systemctl enable nagios4
        sudo systemctl start nagios4
        
        

        O Nagios requer configuração adicional para definir os alvos de monitoramento. Para obter detalhes de configuração, consulte a documentação do Nagios.


        Netdata: ferramenta de monitoramento do sistema em tempo real

        Netdata é uma ferramenta de monitoramento leve e em tempo real que fornece informações detalhadas sobre o desempenho do sistema. É fácil de instalar e vem com uma bela interface web para visualizar métricas.


        Etapa 1: atualizar os pacotes do sistema

        Certifique-se de que seu sistema esteja atualizado executando os seguintes comandos no terminal:

        sudo apt update
        sudo apt upgrade
        

        Etapa 2: instalar o Netdata

        Instale o Netdata a partir do repositório padrão do Ubuntu:

        sudo apt install netdata
        
        

        Etapa 3: configurar o Netdata

        Edite o arquivo de configuração do Netdata para permitir acesso remoto:

        sudo nano /etc/netdata/netdata.conf
        
        

        Localize o campo bind socket to IP e substitua 127.0.0.1 pelo endereço IP do seu servidor:

        [global]
        bind socket to IP = <your-server-ip>
        
        

        Salve o arquivo e reinicie o serviço do Netdata:

        sudo systemctl restart netdata
        
        

        Etapa 4: configurar o firewall

        Permita o acesso à porta padrão do Netdata (19999) e habilite o firewall:

        sudo ufw allow 19999
        sudo ufw allow OpenSSH
        sudo ufw enable
        sudo ufw status
        

        Etapa 5: acessar a interface web do Netdata

        Abra seu navegador web e navegue até:

        http://<your-server-ip>:19999
        


        Comparação de ferramentas

        FerramentaIdeal paraFacilidade de usoVisualizaçãoAlertas
        PrometheusColeta de métricas em larga escalaModeradaLimitadaSim
        GrafanaPainéis avançadosFácilExcelenteSim
        NagiosMonitoramento de infraestruturaModeradaBásicaSim
        NetdataMonitoramento leve em tempo realFácilExcelenteSim

        Conclusão

        Monitorar seu servidor Ubuntu é fundamental para manter o desempenho, diagnosticar problemas e evitar tempo de inatividade. Ferramentas como htop, top, sysstat, Cockpit e outras dão aos administradores a capacidade de monitorar recursos com eficácia. Quer você prefira ferramentas de linha de comando ou painéis gráficos, este guia aborda tudo o que você precisa para configurar um sistema de monitoramento robusto.

        A seguir: Registro e monitoramento centralizados

        No próximo artigo, vamos nos concentrar em registro e monitoramento centralizados para otimizar ainda mais o gerenciamento de servidores e o acompanhamento de desempenho. Os tópicos incluirão:

        • Configurar rsyslog ou syslog-ng para registro centralizado.
        • Encaminhar logs para um servidor de registro remoto para melhor organização e análise.
        • Integrar seu servidor Ubuntu a plataformas de monitoramento robustas como Nagios, Zabbix, ou Prometheus para obter informações mais detalhadas sobre a integridade e o desempenho do sistema.

        Fique ligado para aprender a centralizar sua infraestrutura de logs e aproveitar as ferramentas de monitoramento para otimizar as operações do servidor com eficácia!

        2 thoughts on “10. System Monitoring Tools for Ubuntu Server: A Comprehensive Guide”

        Deixe um comentário