Indice dei contenuti dell'articolo:
Sappiamo meglio di chiunque quanto possa essere difficile seguire l’andamento, lo stato di salute, la disponibilità dei servizi e server nel momento che questi crescono a dismisura.
Si inizia sempre con una manciata di server, si finisce a gestirne migliaia, in più datacenter, in più location e region del mondo, su diversi fornitori e tecnologie.
Spesso l’incubo e la sfida di ogni amministratore di sistema, devops, sysadmin che si rispetti è quello di avere tutto sotto controllo, gestire e domare i servizi e non lasciarsi sopraffare da essi.
Nel corso del tempo sono stati ideati diversi sistemi di monitoraggio e collezione metriche e dati, tra cui citiamo per dovere professionale ed a carattere informativo ZABBIX e NAGIOS, le due soluzioni più diffuse sul mercato.
Tuttavia, entrambe le soluzioni hanno molte problematiche se si cercando soluzioni bundled all in one che permetta di fare egregiamente il loro lavoro in modo rapido, veloce ed in cui la messa in produzione e l’installazione e e configurazione su ogni sistema impieghi 30 secondi / 1 minuto al massimo.
Se cercate una soluzione altamente professionale in grado di raccogliere i dati dell’intero parco macchine su un unica schermata, la soluzione che ci sentiamo di consigliare è sicuramente Netdata.
Cos’è Netdata ?
netdata è un’utilità Linux estremamente ottimizzata che fornisce monitoraggio delle prestazioni in tempo reale (al secondo) per sistemi Linux , FreeBSD, applicazioni, dispositivi SNMP, ecc. e mostra grafici interattivi completi che rendono assolutamente tutti i valori raccolti sul browser Web per analizzarli.
Netdata aiuta amministratori di sistema, SRE, ingegneri DevOps e professionisti IT a raccogliere tutte le metriche possibili da sistemi e applicazioni, visualizzare queste metriche in tempo reale e risolvere problemi di prestazioni complessi.
La soluzione di Netdata utilizza due componenti, Netdata Agent e Netdata Cloud, per fornire prestazioni in tempo reale e monitoraggio dello stato sia per i singoli nodi che per l’intera infrastruttura.
È stato sviluppato per essere installato su ogni sistema Linux, senza interrompere le attuali applicazioni in esecuzione su di esso. Puoi utilizzare questo strumento per monitorare e ottenere una panoramica di ciò che sta accadendo in tempo reale e di ciò che è appena accaduto, sui tuoi sistemi e applicazioni Linux.
Questo è ciò che monitora:
- Utilizzo totale e per core della CPU, interruzioni, softirq e frequenza.
- Utilizzo totale di memoria, RAM, swap e kernel.
- I/O su disco (per disco: larghezza di banda, operazioni, backlog, utilizzo, ecc.).
- Monitora le interfacce di rete tra cui: larghezza di banda, pacchetti, errori, cadute, ecc.).
- Monitora le connessioni, gli eventi, gli errori, ecc. del firewall Linux Netfilter / iptables.
- Processi (in esecuzione, bloccati, fork, attivi, ecc.).
- Applicazioni di sistema con l’albero dei processi (CPU, memoria, swap, letture/scritture del disco, thread, ecc.).
- Monitoraggio dello stato di Apache e Nginx con mod_status.
- Monitoraggio del database MySQL: query, aggiornamenti, blocchi, problemi, thread, ecc.
- Coda di messaggi del server di posta elettronica Postfix.
- Monitoraggio della larghezza di banda del server proxy Squid e delle richieste.
- Sensori hardware (temperatura, voltaggio, ventole, alimentazione, umidità, ecc.).
- dispositivi SNMP.
Netdata
L’agente di monitoraggio distribuito di Netdata raccoglie migliaia di parametri da sistemi, hardware e applicazioni senza alcuna configurazione. Funziona in modo permanente su tutti i tuoi server fisici/virtuali, container, distribuzioni cloud e dispositivi edge/IoT.
Puoi installare Netdata sulla maggior parte delle distribuzioni Linux (Ubuntu, Debian, CentOS e altre), piattaforme container/microservizi (cluster Kubernetes, Docker) e molti altri sistemi operativi (FreeBSD, macOS).
Netdata Cloud
Netdata Cloud è un’applicazione web che ti offre visibilità in tempo reale per l’intera infrastruttura. Con Netdata Cloud, puoi visualizzare metriche chiave, grafici approfonditi e allarmi attivi da tutti i tuoi nodi in un’unica interfaccia web. Quando si verifica un’anomalia, accedi senza problemi a qualsiasi nodo per risolvere i problemi e scoprire la causa principale con il familiare dashboard di Netdata.
Netdata Cloud è gratuito ! Puoi aggiungere un’intera infrastruttura di nodi, invitare tutti i tuoi colleghi e visualizzare un numero qualsiasi di metriche, grafici e allarmi del tutto gratuitamente.
Sebbene Netdata Cloud offra un metodo centralizzato per monitorare i tuoi agenti, i dati delle metriche non vengono archiviati o centralizzati in alcun modo. I dati delle metriche rimangono con i tuoi nodi e vengono trasmessi in streaming al tuo browser, tramite Cloud, solo quando visualizzi l’interfaccia di Netdata Cloud.
Cosa puoi fare con Netdata Cloud ?
Netdata è progettato per essere semplice da usare e flessibile per ogni caso d’uso di monitoraggio, visualizzazione e risoluzione dei problemi:
- Raccogli : Netdata raccoglie tutte le metriche disponibili dal tuo sistema e dalle tue applicazioni con oltre 300 raccoglitori, rilevamento del servizio Kubernetes e monitoraggio approfondito dei container, il tutto utilizzando solo l’1% di CPU e pochi MB di RAM. Raccoglie anche metriche da macchine Windows.
- Visualizza : la dashboard presenta in modo significativo grafici per aiutarti a comprendere le relazioni tra hardware, sistema operativo, app/servizi in esecuzione e il resto della tua infrastruttura. Aggiungi nodi a Netdata Cloud per una visione completa della tua infrastruttura da un’unica lastra di vetro.
- Monitor : il watchdog sanitario di Netdata utilizza centinaia di allarmi preconfigurati per avvisarti tramite Slack, e-mail, PagerDuty e altro quando si verifica un’anomalia. Personalizza con soglie dinamiche, isteresi, modelli di allarme e notifiche basate sui ruoli.
- Risoluzione dei problemi : la granularità di 1s consente di rilevare e analizzare le anomalie che altre piattaforme di monitoraggio potrebbero non aver rilevato. Le visualizzazioni interattive riducono la tua dipendenza dalla console e le metriche storiche ti aiutano a risalire alla causa principale dei problemi.
- Store : l’efficiente motore di database di Netdata memorizza in modo efficiente le metriche al secondo per giorni, settimane o addirittura mesi. Ogni nodo distribuito memorizza le metriche localmente, semplificando l’implementazione, riducendo i costi e arricchendo i dashboard interattivi di Netdata.
- Esporta : integra le metriche al secondo con altri database di serie temporali come Graphite, Prometheus, InfluxDB, TimescaleDB e altri con il core interoperabile ed estensibile di Netdata.
- Stream : aggrega le metriche da qualsiasi numero di nodi distribuiti in un’unica posizione per un’analisi approfondita, inclusi i nodi temporanei in un cluster Kubernetes.
Perché usare Netdata?
Netdata adotta un approccio diverso per aiutare le persone a costruire infrastrutture straordinarie. È stato creato per la frustrazione con gli strumenti di monitoraggio esistenti che sono troppo complessi, troppo costosi e non aiutano i loro utenti a risolvere problemi complessi di prestazioni e salute.
Netdata è:
Semplice da distribuire
- Distribuzione su una riga per le distribuzioni Linux, oltre al supporto per le infrastrutture Kubernetes/Docker.
- Nessuna configurazione e manutenzione richiesta per raccogliere migliaia di parametri, ogni secondo, dal sistema operativo sottostante e dalle applicazioni in esecuzione.
- Grafici e allarmi predefiniti segnalano anomalie comuni e problemi di prestazioni senza configurazione manuale.
- Storage distribuito per semplificare il costo e la complessità dell’archiviazione dei dati delle metriche da qualsiasi numero di nodi.
Potente e scalabile
- Utilizzo della CPU dell’1%, pochi MB di RAM e I/O del disco minimo per eseguire l’agente di monitoraggio su bare metal, macchine virtuali, container e persino dispositivi IoT.
- Granularità al secondo per un numero illimitato di metriche basate sull’hardware e sulle applicazioni in esecuzione sui nodi.
- Gli esportatori interoperabili ti consentono di collegare le metriche al secondo di Netdata con uno stack di monitoraggio esistente e altri database di serie temporali.
Ottimizzato per la risoluzione dei problemi
- Rilevamento di anomalie visive con UI/UX che enfatizza le relazioni tra i grafici.
- Dashboard personalizzabili per individuare le metriche correlate, rispondere agli incidenti e aiutarti a semplificare i flussi di lavoro.
- Metriche distribuite in un’interfaccia centralizzata per aiutare utenti o team a tracciare problemi complessi tra nodi distribuiti.
Confronto con altre soluzioni
Netdata offre molti vantaggi rispetto al panorama di monitoraggio esistente, che si tratti di costosi prodotti SaaS o di altri strumenti open source.
Netdata | Altri (open source e commerciali) |
---|---|
Metriche ad alta risoluzione (granularità 1s) | Metriche a bassa risoluzione (al massimo 10 secondi di granularità) |
Raccoglie migliaia di metriche per nodo | Raccoglie solo alcune metriche |
Interfaccia utente veloce ottimizzata per il rilevamento delle anomalie | L’interfaccia utente è buona solo per una vista astratta |
Archiviazione a lungo termine e autonoma con granularità di un secondo | Metriche centralizzate in un costoso data lake con granularità di 10 secondi |
Presentazione significativa , per aiutarti a comprendere le metriche | Devi conoscere le metriche prima di iniziare |
Installa e ottieni risultati immediatamente | Processo di vendita lungo e processo di installazione complesso |
Usalo per risolvere i problemi di prestazioni | Raccoglie solo le statistiche delle prestazioni passate |
Uccide la console per la traccia dei problemi di prestazioni | La console è sempre necessaria per la risoluzione dei problemi |
Non richiede risorse dedicate | Richiede grandi risorse dedicate |
Conclusioni
Abbiamo appena introdotto ed esaminato un sistema molto veloce e potente per ottenere moltissime metriche e visualizzarle su una dashboard, veloce, performante ed accattivante. Si comprende sin da subito la validità dello strumento assolutamente adeguato per la quasi totalità delle necessità di chi lavora in ambito server e soprattutto server web che offrono appunto servizi web.
Noi da azienda di Hosting e sistemistica lo abbiamo trovato più veloce, accurato, si facile installazione rispetto al precedente Zabbix che ad oggi risulta probabilmente il sistema più completo se si ha la voglia di investire tempo (perder tempo) ad installarlo e configurarlo.
Per dare un’idea della messa in produzione di un sistema Zabbix, diciamo che solo l’installazione del nodo master richiede un’ora da parte di un sistemista esperto ed ogni macchina aggiuntiva almeno 15 minuti se si va molto veloci e si ha padronanza nonchè un certo grado di automazione manuale.
L’implementazione di Netdata e la visualizzazione Netdata Cloud, richiede una media di 1 ora di lavoro ogni 50 macchine installate. Ovviamente se si lavora con terminali multipli, in ambiente eterogeneo il tempo può ridursi drasticamente.