VPS Master — Monitoramento e Observabilidade¶
Camadas de monitoramento¶
| Ferramenta | O que monitora | Como acessar |
|---|---|---|
| Netdata | Métricas em tempo real (CPU, RAM, containers, rede) | SSH tunnel → localhost:19999 |
| Cockpit | Gerenciamento do servidor (processos, disco, logs, terminal) | SSH tunnel → localhost:9090 |
| Grafana Cloud | Métricas históricas + traces (Alloy coletando desde 11/05) | Conta dev externo — login pendente |
| Script monitor-vps.sh | Alertas proativos (load, CLOSE_WAIT, RAM Traefik) | WhatsApp automático |
Netdata¶
Porta: 19999 (bloqueada no UFW — só via SSH tunnel)
Como acessar:
O que mostra: - CPU, RAM, disco em tempo real - Consumo por container Docker individualmente - Conexões de rede, sockets TCP - Load average e processos
Alertas nativos: Netdata pode enviar alertas por email ou webhook. Não configurado ainda.
Cockpit¶
Porta: 9090 (via systemd socket)
Como acessar:
ssh -L 9090:localhost:9090 vps-master
# Abrir: http://localhost:9090
# Login: usuário master (credenciais do sistema)
O que permite: - Ver e gerenciar serviços systemd (start/stop/restart) - Terminal web (alternativa ao SSH puro) - Ver logs do sistema - Atualizar pacotes - Monitorar disco e RAM
Grafana Cloud (Alloy)¶
Status: coletando desde 11/05/2026 — dados históricos já existem.
Stack ID: 1632821
O Alloy coleta: - Métricas via Prometheus remote write → prometheus-prod-40...grafana.net - Logs via Loki → logs-prod-024.grafana.net - Traces via OTLP (portas 4317/4318) — GCI GO WhatsApp envia traces
Config do Alloy: /etc/alloy/config.alloy
API key: configurada via environment variable no systemd (/etc/systemd/system/alloy.service.d/env.conf) — não exposta neste documento.
Login Grafana Cloud: conta criada pelo dev externo (email pendente de confirmação). Acessar: https://grafana.com
Para conectar mais projetos ao OTLP receiver: Qualquer serviço pode enviar traces/metrics para http://host.docker.internal:4318 (HTTP) ou host.docker.internal:4317 (gRPC). O Alloy repassa automaticamente para o Grafana Cloud.
Script monitor-vps.sh¶
Localização: /opt/scripts/monitor-vps.sh
Cron master: */5 * * * * sudo /opt/scripts/monitor-vps.sh
Log: /var/log/monitor-vps.log
O que verifica a cada 5 minutos:
| Métrica | Threshold | Indica |
|---|---|---|
| Load average | > número de CPUs | Servidor sobrecarregado |
| Conexões CLOSE_WAIT | > 1.000 | Possível SYN flood |
| Sockets TCP no kernel | > 10.000 | Volume anormal de conexões |
| RAM do Traefik (coolify-proxy) | > 500MiB | Memory leak ou flood |
Quando alerta: envia WhatsApp para o número do Felipe via API Stevo.
Verificar log:
tail -20 /var/log/monitor-vps.log
# Formato de cada linha:
# 2026-05-22 21:45 | load:0/1 | close_wait:3 | sockets:385 | traefik:22MiB
Rodar manualmente:
Diagnóstico rápido durante incidente¶
# Resumo geral do servidor
htop
# Estado das conexões TCP
ss -s
# Conexões CLOSE_WAIT (flood indicator)
ss -nt state close-wait | wc -l
# Consumo de recursos por container
docker stats --no-stream
# RAM específica do Traefik
docker stats coolify-proxy --no-stream --format '{{.MemUsage}}'
# Sockets no kernel
sudo cat /proc/net/sockstat
# Logs do Traefik
docker logs coolify-proxy --tail 100 -f
# Logs gerais do sistema
sudo journalctl -f --since "5 minutes ago"
Sentry (monitoramento de erros de código)¶
Status: cloud gratuito (5k erros/mês, 10k transações/mês).
Hoje monitorado: Cadência (Next.js frontend).
Projetos a conectar no futuro: - cadencia-workers (Coolify VPS Master — Railway DESLIGADO, DEV-638) - gci-go-whatsapp - ecuro-mcp
Como conectar um projeto: adicionar SDK Sentry no código + configurar SENTRY_DSN como variável de ambiente.
Notas Relacionadas¶
Infra/VPS-Hostinger/VPS-Master/VPS-Master-Arquitetura · Infra/VPS-Hostinger/VPS-Master/VPS-Master-Seguranca · Infra/VPS-Hostinger/VPS-Master/VPS-Master-Servicos