Netdata: monitoraggio real-time del server in un pomeriggio

Pubblicato il 14/05/2026 Linux

Se il tuo server ha rallentamenti misteriosi, Grafana+Prometheus richiede una settimana di setup. Netdata risolve in 5 minuti con dashboard web pronta e overhead ridicolo (~1% CPU).

1. Installazione one-liner

wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sudo sh /tmp/netdata-kickstart.sh --non-interactive

~2 minuti. Installa binario, avvia servizio systemd, apre porta 19999.

2. Primo accesso

Da qualsiasi PC nella LAN: http://IP-DEL-SERVER:19999. Vedi subito ~2000 metriche (CPU, RAM, disk, rete, processi, systemd, ecc.) con grafici a 1 secondo. Nessuna configurazione.

3. Cosa raccoglie di default

  • CPU: user/system/iowait/interrupt per core
  • RAM: used/cached/swap
  • Dischi: IOPS, throughput, latenza per device
  • Rete: packets/errors per interfaccia + traffico per protocollo
  • Processi: top per CPU/RAM
  • Systemd: stato di ogni servizio
  • Sensori hardware: temperature, fan (se lm-sensors installato)

4. Abilitare i plugin (auto-discovery)

Netdata scopre da solo container e servizi installati. Verifica in dashboard sidebar > Applications.

sudo systemctl status netdata          # verifica servizio

5. Monitorare Docker

# Se hai Docker installato:
sudo usermod -aG docker netdata
sudo systemctl restart netdata

Ora nella dashboard vedi CPU/RAM/network per ogni container.

6. Alert email/Slack/Discord

Netdata ha ~800 alert precablati (CPU >80%, disk pieno, service down, temp CPU alta, ecc.). Configura destinazione notifiche:

sudo /etc/netdata/edit-config health_alarm_notify.conf

Cerca SEND_EMAIL, SLACK_WEBHOOK_URL, DISCORD_WEBHOOK_URL, SEND_TELEGRAM e riempi i valori.

7. Streaming multi-nodo

Se hai 5 server, li puoi centralizzare su un master unico:

# Sui nodi child (in /etc/netdata/stream.conf):
[stream]
    enabled = yes
    destination = MASTER-IP:19999
    api key = <stessa-key-del-master>

# Sul master (in /etc/netdata/stream.conf):
[<api-key-uuid>]
    enabled = yes

Il master aggrega tutto: vedi 5 server nella stessa dashboard.

8. Retention storica (default 1 ora)

Di default Netdata tiene 1 ora di dati in RAM. Per tenere 1 mese su disco:

sudo /etc/netdata/edit-config netdata.conf
# [db]
#   mode = dbengine
#   storage tiers = 3
#   dbengine multihost disk space MB = 4096

~4 GB di disco per 1 mese di storia @ 1s risoluzione (poi si aggregano).

9. Sicurezza: cambia bind + auth

Di default Netdata ascolta su TUTTI gli IP. Se il server e' esposto, restringi:

# In /etc/netdata/netdata.conf:
[web]
    bind to = 127.0.0.1

# Poi metti un reverse proxy nginx con basic auth davanti:
server {
    listen 443 ssl;
    server_name monitor.example.com;
    auth_basic "Monitor";
    auth_basic_user_file /etc/nginx/.htpasswd;
    location / {
        proxy_pass http://127.0.0.1:19999;
    }
}

10. Confronto con alternative

ToolSetupOverheadRetention default
Netdata5 min~1% CPU1 ora
Prometheus+Grafana1-2 giorni~3% CPU15 giorni
Zabbix1 giorno~2% CPUinfinita (MySQL)
Datadog SaaS10 min~1% CPU15 mesi (paid)
Nota: Netdata Cloud (SaaS) e' opzionale. Se preferisci restare 100% self-hosted, ignora l'iscrizione e usa solo http://IP:19999 in LAN. Nessuna feature critica manca dalla versione self-hosted.