Salta ai contenuti

Netdata - Monitoraggio delle Prestazioni in Tempo Reale Cheatsheet

Netdata - Monitoraggio delle Prestazioni in Tempo Reale Cheatsheet

Netdata è un agente di monitoraggio open-source che raccoglie migliaia di metriche al secondo con configurazione quasi zero e le visualizza su un dashboard web live (porta predefinita 19999). Rileva automaticamente i servizi (database, server web, container, Kubernetes) attraverso 800+ collector e include rilevamento anomalie e un motore di avviso integrato.

Installazione

MetodoComando
Universal kickstartwget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh
curl variantcurl https://get.netdata.cloud/kickstart.sh > /tmp/k.sh && sh /tmp/k.sh
Pacchetto Debian/Ubuntusudo apt install netdata
Pacchetto Fedora/RHELsudo dnf install netdata
Dockerdocker run -d --name=netdata -p 19999:19999 --cap-add SYS_PTRACE netdata/netdata
Helm (Kubernetes)helm install netdata netdata/netdata

Dopo l’installazione, apri http://localhost:19999 (o l’IP del server).

Gestione del Servizio

ComandoDescrizione
sudo systemctl start netdataAvvia l’agente
sudo systemctl enable netdataAvvia al boot
sudo systemctl restart netdataRiavvia (applica i cambiamenti di configurazione)
sudo systemctl status netdataControlla lo stato
sudo journalctl -u netdata -fVisualizza i log dell’agente in tempo reale
netdatacli reload-healthRicarica gli allarmi senza un riavvio completo
netdatacli reload-labelsRicarica le etichette host
netdatacli shutdown-agentArresta l’agente correttamente

Configurazione

Modifica sempre la configurazione con il wrapper edit-config — copia il file stock da /usr/lib/netdata/conf.d in /etc/netdata quindi gli aggiornamenti non lo sovrascrivono.

cd /etc/netdata
sudo ./edit-config netdata.conf          # configurazione agente principale
sudo ./edit-config health_alarm_notify.conf   # notifiche
sudo ./edit-config go.d.conf             # abilita/disabilita i collector Go
Impostazione (in netdata.conf)Scopo
[global] update every = 1Intervallo di raccolta in secondi
[global] history / dbengineDimensioni dei livelli di database on-disk / ritenzione
[web] bind to = *Interfacce di rete su cui il dashboard ascolta
[web] default port = 19999Porta del dashboard
[plugins]Attiva/disattiva gruppi di plugin interi

Collector (Plugin)

CompitoCome
Elenca i file di configurazione per collectorcd /etc/netdata && sudo ./edit-config go.d/CONFIG.conf
Abilita un modulo (es. nginx)sudo ./edit-config go.d/nginx.conf poi puntalo all’URL di stato
Debug di un collector Gosudo /usr/libexec/netdata/plugins.d/go.d.plugin -d -m nginx
Moduli comunemente auto-rilevatinginx, apache, mysql, postgres, redis, docker, unità systemd, dischi, rete, sensori

Salute e Allarmi

Le definizioni di allarme vivono in /etc/netdata/health.d/*.conf.

cd /etc/netdata
sudo ./edit-config health.d/cpu.conf     # regola un allarme integrato
netdatacli reload-health                  # applica
ComandoDescrizione
curl http://localhost:19999/api/v1/alarms?allElenca tutti gli allarmi e lo stato attuale (JSON)
curl http://localhost:19999/api/v1/infoInfo agente, versione, collector
Modifica health_alarm_notify.confCollega email, Slack, PagerDuty, Discord, ecc.

Endpoint API Utili

EndpointRestituisce
/api/v1/chartsTutti i grafici disponibili sul nodo
/api/v1/data?chart=system.cpuDati serie temporali per un grafico
/api/v1/allmetrics?format=prometheusTarget di scraping per Prometheus
/api/v1/badge.svg?chart=system.cpu&value_color=greenBadge di stato incorporabile

Netdata Cloud (Opzionale)

# Connetti (rivendica) un nodo a Netdata Cloud per dashboard multi-nodo
sudo netdata-claim.sh -token=YOUR_TOKEN -rooms=ROOM_ID -url=https://app.netdata.cloud

L’agente continua a funzionare completamente in standalone se non lo reclami mai — Cloud aggiunge solo viste cross-nodo e avvisi centralizzati.

Flussi di Lavoro Comuni

# Controllo di salute rapido dalla shell
curl -s http://localhost:19999/api/v1/alarms | jq '.alarms | keys'

# Esponi metriche a uno stack Prometheus esistente
curl -s 'http://localhost:19999/api/v1/allmetrics?format=prometheus' | head

# Riduci l'impronta CPU/disco su una piccola VM (netdata.conf)
#   [global] update every = 2
#   [db] mode = ram         # mantieni le metriche solo in memoria

# Riduci la ritenzione ma mantieni la granularità al secondo, poi ricarica
sudo systemctl restart netdata

Netdata vs Prometheus + Grafana

AspettoNetdataPrometheus + Grafana
ConfigurazioneMinuti, auto-rilevamentoEsporter manuali + dashboard
GranularitàAl secondo per impostazione predefinitaTipicamente scraping a 15s
ArchiviazioneDatabase locale a livelli (dbengine)TSDB centrale
Migliore perProfondità single-node, triage veloceFlotte grandi, query long-term
InteropEsporta formato PrometheusPuò scrapare Netdata

Risorse