Métricas essenciais
Monitorar um servidor Linux é mais do que verificar se ele está "ligado". Um servidor pode estar respondendo ao ping enquanto o banco de dados não aceita conexões, o disco está 95% cheio ou a aplicação está consumindo 100% de CPU. Monitoramento eficaz cobre todas as camadas relevantes.
CPU
O uso de CPU em si raramente é o problema — o que importa é o contexto. Um servidor de banco de dados que sustenta 80% de CPU durante o dia pode ser normal. O mesmo percentual em um servidor web em horário de baixo acesso é sinal de alerta.
- Load average: compare com o número de núcleos. Load de 4.0 em um servidor com 8 núcleos é aceitável; em um com 2 núcleos, é crítico.
- iowait: CPU aguardando I/O de disco indica gargalo de armazenamento, não de processador.
- Processos em estado D: processos em "uninterruptible sleep" apontam para problemas de I/O.
Memória
- Monitore memória disponível (não apenas uso — o Linux usa memória livre como cache, o que é normal)
- Alerte se o uso de swap for significativo e crescente — indica que a RAM está insuficiente
- Monitore OOM killer events nos logs do sistema (
dmesg | grep -i "oom")
Disco
- Espaço disponível em todas as partições (especialmente
/,/var,/tmp) - Inodes disponíveis — tão importante quanto o espaço em bytes
- I/O wait e throughput (ferramentas:
iostat,iotop) - Health do disco via S.M.A.R.T. para hardware físico
Rede
- Tráfego de entrada e saída por interface
- Erros e drops de pacote
- Número de conexões estabelecidas (
ss -s) - Latência para serviços externos críticos
Ferramentas recomendadas
Zabbix — monitoramento enterprise
O Zabbix é a ferramenta mais completa para ambientes corporativos. Suporta auto-discovery, templates para centenas de serviços, alertas configuráveis por múltiplos canais e dashboard com histórico.
# Instalar Zabbix Agent 2 no Ubuntu wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb apt update && apt install -y zabbix-agent2 systemctl enable --now zabbix-agent2
Prometheus + Grafana — métricas e visualização
Ideal quando você quer dashboards bonitos e precisa monitorar métricas de aplicação além da infraestrutura. O Node Exporter coleta métricas do sistema operacional.
# Instalar Node Exporter useradd -rs /bin/false node_exporter wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-*.linux-amd64.tar.gz # Extrair e configurar como serviço systemd
Uptime Kuma — disponibilidade HTTP
Para monitorar URLs, APIs e portas com uma interface visual simples. Self-hosted, gratuito, com notificações por Telegram, e-mail, Slack e outros.
Configurando alertas eficazes
O maior erro no monitoramento não é a ausência de alertas — é o excesso. Alert fatigue (fadiga de alertas) faz com que a equipe ignore notificações porque "sempre aparece isso". Configure alertas com critério:
- Disco > 70%: alerta informativo — planejar limpeza
- Disco > 85%: alerta prioritário — ação imediata necessária
- Disco > 95%: crítico — serviços podem parar
- CPU > 90% por 15 minutos: investigar processo
- Serviço indisponível por 3 verificações consecutivas: crítico
- Certificado SSL vence em 30 dias: alerta preventivo
Monitoramento de logs
Além das métricas de sistema, os logs contêm informações valiosas sobre falhas silenciosas. Configure o monitoramento para alertar em padrões críticos:
# Com tail e grep simples para testes tail -f /var/log/syslog | grep -E "error|critical|failed|OOM" # Com Zabbix log monitoring — adicionar ao arquivo de configuração do agente LogFile=/var/log/auth.log
Ferramentas como Loki (do ecossistema Grafana) ou o módulo de log do Zabbix permitem centralizar e pesquisar logs de múltiplos servidores em um único lugar.
Monitoramento de serviços
Monitorar o processo rodando não é suficiente. Um processo pode estar ativo mas não funcional. Configure verificações de serviço que validam a resposta real:
- Nginx/Apache: HTTP check na URL principal esperando código 200
- MySQL/MariaDB: verificar conexão e executar query simples (
SELECT 1) - Certificado SSL: verificar data de expiração e validade da cadeia
- Backup: verificar se o arquivo do último backup existe e tem tamanho razoável
Conclusão
Um bom sistema de monitoramento é a diferença entre descobrir um problema às 3h da manhã por ligação de cliente, ou receber um alerta às 22h e resolver silenciosamente antes que alguém perceba. O segundo cenário é o que a WSUL entrega para todos os ambientes que gerencia.