Netdata na VPS: monitoramento em tempo real
Netdata é a ferramenta de monitoramento mais fácil de instalar — um comando e você tem dashboards em tempo real com resolução de 1 segundo para CPU, memória, disco, rede e mais de 800 métricas do sistema. Detecta anomalias automaticamente usando machine learning e tem alertas pré-configurados para os problemas mais comuns.
Instalar Netdata em um comando
O script oficial instala e configura o Netdata automaticamente:
# Instalação em um comando (Ubuntu/Debian)
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh --nightly-channel --no-updates
# Verificar que está rodando
systemctl status netdata
curl http://localhost:19999/api/v1/info | python3 -m json.tool | grep version
# Acessar dashboard (via tunel SSH)
# ssh -L 19999:localhost:19999 deploy@IP_DA_VPS
# Abrir: http://localhost:19999
# Ou via Docker (mais isolado):
docker run -d --name netdata \
--pid=host --network=host \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /etc/os-release:/host/etc/os-release:ro \
-v netdata_config:/etc/netdata \
-v netdata_lib:/var/lib/netdata \
-v netdata_cache:/var/cache/netdata \
--cap-add SYS_PTRACE --cap-add SYS_ADMIN \
--security-opt apparmor=unconfined \
netdata/netdataConfigurar alertas no Netdata
Netdata vem com mais de 300 alertas pré-configurados. Personalize os mais importantes:
# /etc/netdata/health.d/custom.conf
# Regras customizadas de alerta
# Alerta quando disco > 85%
alarm: disk_space_usage
on: disk.space
lookup: average -10m unaligned of used
units: %
every: 1m
warn: $this > 80
crit: $this > 90
info: Disco quase cheio
# Alerta quando carga média > número de CPUs
alarm: system_load_avg
on: system.load
lookup: average -5m unaligned of load1
every: 1m
warn: $this > $ncpus * 1.5
crit: $this > $ncpus * 2
info: Sistema sobrecarregadoConfigurar notificações por Telegram
Configure o canal de notificação para receber alertas:
# /etc/netdata/health_alarm_notify.conf
# Habilitar Telegram
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="SEU_TOKEN_BOT"
DEFAULT_RECIPIENT_TELEGRAM="SEU_CHAT_ID"
# Testar notificação
/usr/libexec/netdata/plugins.d/alarm-notify.sh test telegram
# Filtrar quais alertas notificar
# (padrão: todos os críticos e avisos)
DEFAULT_SEND_NOTIFICATION_WHEN="critical warning"Expor métricas do Netdata para Prometheus
Use o Netdata como coletor e exporte métricas para o Prometheus existente:
# O Netdata expõe métricas no formato Prometheus nativamente
# Endpoint: http://localhost:19999/api/v1/allmetrics?format=prometheus
# Adicionar ao prometheus.yml:
scrape_configs:
- job_name: 'netdata'
metrics_path: '/api/v1/allmetrics'
params:
format: [prometheus]
static_configs:
- targets: ['localhost:19999']
# Verificar
curl 'http://localhost:19999/api/v1/allmetrics?format=prometheus' | head -30
# Isso expõe TODAS as métricas do Netdata no Prometheus
# (~10.000 séries temporais) — filtre com metric_relabel_configs se necessárioOtimizar o Netdata para VPS pequena
Reduza o consumo de recursos ajustando a configuração:
# /etc/netdata/netdata.conf
[global]
# Reduzir histórico em memória (padrão: 3600 segundos = 1h)
history = 1800 # 30 minutos
# Reduzir frequência de update (padrão: 1 segundo)
update every = 2 # 2 segundos (suficiente para maioria)
[plugin:proc]
# Desabilitar collectors não necessários
/proc/diskstats = yes
/proc/net/dev = yes
/sys/class/power_supply = no # irrelevante em VPS
/proc/pagetypeinfo = no
[plugin:apps]
# Desabilitar se não precisar de métricas por processo
enabled = no$ runstack deploy --plan starter
Não quer configurar manualmente?
Não quer configurar manualmente? Implante o VPS em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.