Nagios è un sistema open source che serve a monitorare diversi sistemi informatici, dai computer alle risorse di rete. Progettato nel marzo del 1999 per funzionare con il sistema operativo Linux, oggi Nagios è distribuito sotto la versione 2 della GNU General Public License, pubblicata dalla Free Software Foundation. Il programma può monitorare anche dispositivi che eseguono sistemi operativi diversi come Unix e Windows.
Nagios: caratteristiche e funzionalità
Il software esegue controlli periodici su tutti quelli che sono i parametri critici relativi ad applicazioni, reti e server.
Il sistema, ad esempio, può monitorare:
- l’utilizzo della memoria
- l’utilizzo del disco
- il carico del microprocessore
- il numero di processi attualmente in esecuzione
- i file di registro
Può anche monitorare servizi come SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol 3), Hypertext Transfer Protocol (HTTP) e altri protocolli di rete comuni. I controlli attivi vengono avviati da Nagios, mentre i controlli passivi provengono da applicazioni esterne collegate allo strumento di monitoraggio.
Cronistoria e sviluppo
Originariamente chiamato NetSaint e rilasciato nel 1999, Nagios è stato sviluppato dal programmatore statunitense Ethan Galstad (attualmente CEO della società Nagios omonima nonché founder di Zero to Hero) e successivamente perfezionato da numerosi collaboratori in quanto progetto open source. Nagios Enterprises, in dettaglio, è una società basata sulla tecnologia Nagios Core e offre numerosi prodotti, come XI, Log Server, Network Analyzer e Fusion.
Qual è il codice di programmazione di Nagios
Un utente può scegliere di lavorare utilizzando l’interfaccia della riga di comando (CLI) o selezionare un’interfaccia utente grafica (GUI) basata su Web che è presente in alcune versioni di Nagios e di tool sviluppati da terze parti. La dashboard di Nagios offre una panoramica dei parametri critici monitorati sugli asset.
Sulla base dei parametri e delle soglie definite, Nagios può inviare avvisi se vengono raggiunti livelli critici. Queste notifiche possono essere inviate in diversi modi, tra cui e-mail e messaggi di testo. Un sistema di autorizzazione consente anche all’amministratore di limitare l’accesso a queste notifiche.
Configurazioni con o senza agenti: funzioni e plug in
Agenti indipendenti vengono installati su qualsiasi sistema hardware o software per raccogliere dati che vengono poi riportati al server di gestione. Il monitoraggio senza agente utilizza i protocolli esistenti per emulare un agente. Entrambi gli approcci possono monitorare l’utilizzo del file system, le metriche del sistema operativo, gli stati dei servizi e dei processi e altro ancora. Esempi di agenti Nagios includono:
- Nagios Remote Data Processor (NRDP)
- Nagios Cross Platform Agent (NCPA)
- NSClient ++
Il software esegue configurazioni basate su agenti e senza agenti.
A differenza di molti programmi di monitoraggio, infatti, questo software non possiede alcun meccanismo proprio per verificare lo status dei sistemi e dei servizi di rete. A farsene carico sono i plug-in. Queste estensioni, chiamate anche moduli, sono file già compilati (scritti, ad esempio, in C o C++) o script eseguibili, contenenti argomenti sulla riga dei comandi (command line argument), che gestiscono il rispettivo controllo e trasmettono i risultati al software di monitoraggio. Sarà Nagios ad occuparsi poi dell’esecuzione.
Di conseguenza i plug-in agiscono come livello di astrazione tra la logistica di monitoraggio, i servizi e l’host. Il vantaggio? Che questa soluzione è in grado di controllare tutto quanto può essere programmato attraverso un processo di verifica automatico.
Quali sono i plug in di Nagios
Nagios può anche eseguire script e plug-in remoti utilizzando l’agente Nagios Remote Plugin Executor (NRPE). NRPE consente il monitoraggio remoto delle metriche di sistema come, ad esempio, il carico del sistema, la memoria o l’utilizzo del disco. È costituito dal plug-in check_nrpe, che è memorizzato sulla macchina di monitoraggio locale, e dal NRDP, in esecuzione sulla macchina remota. Il sistema utilizza un plug-in per consolidare i dati dall’agente NRPE prima che vengano inviati al server di gestione per l’elaborazione. NRPE può anche comunicare con agenti Windows per monitorare i computer Windows.
Supporta plug-in che sono componenti aggiuntivi ed estensioni indipendenti, tali da permettere all’utente di definire sia i suoi obiettivi che i parametri relativi ai target da monitorare. I plug-in Nagios elaborano gli argomenti della riga di comando e comunicano i comandi con Nagios Core.
Esistono circa 50 plug-in sviluppati e gestiti da Nagios, mentre ce ne sono oltre 3mila realizzati dalla community open source. Questi plug-in sono classificati secondo degli elenchi che includono:
- hardware
- software
- cloud
- sistemi operativi
- sicurezza
- file di registro
- connessioni di rete
Ad esempio, se utilizzato in combinazione con sistemi di rilevamento ambientale, un plug-in Nagios può condividere dati su variabili ambientali, quali temperatura, umidità o pressione barometrica.
Quali i prodotti disponibili
Il prodotto è piaciuto molto sia alle piccole che alle grandi imprese. A utilizzarlo in maniera diffusa sono stati sia i fornitori di servizi Internet (ISP) che istituzioni scolastiche, agenzie governative, realtà sanitarie, finanziarie e manifatturiere.
A seconda dei servizi e del supporto necessari, è possibile scegliere tra opzioni gratuite e opzioni a pagamento.
- Nagios Core – Il servizio che originariamente era conosciuto come Nagios oggi viene chiamato Nagios Core (NC). NC è disponibile gratuitamente come software di monitoraggio open source per sistemi IT, reti e infrastrutture. Core, che contiene anche una vasta gamma di monitoraggio dell’infrastruttura il che consente ai plug-in di estendere le sue capacità di monitoraggio, è la base per i sistemi di monitoraggio Nagios a pagamento. Nagios Core ha un’interfaccia web opzionale, che mostra lo stato della rete, le notifiche, i file di registro e altro. Oltre ad avvisare l’utente in caso di problemi del server o dell’host, Core può monitorare servizi di rete come SMTP, HTTP e Ping.
- Nagios XI – Nagios XI è un’interfaccia estesa di Nagios Core, intesa come versione a livello aziendale dello strumento di monitoraggio. XI funge da software di monitoraggio, Configuration Manager e toolkit. Mentre Nagios Core è gratuito, XI deve essere acquistato da Nagios Enterprises. Oltre alle stesse funzionalità di Core, XI aggiunge macchine virtuali (VM) preconfigurate, un’interfaccia utente di configurazione web (UI), rappresentazione grafica delle prestazioni, un’applicazione mobile, dashboard, report programmati, supporto tecnico tramite e-mail e altro ancora. Nagios XI monitora i componenti dell’infrastruttura IT come applicazioni, sistemi operativi, reti e metriche di sistema. I plug-in sono supportati per questi componenti dell’infrastruttura per espandere le capacità di monitoraggio di XI.
- Nagios Log Server – Nagios Log Server è uno strumento di monitoraggio e gestione dei log che consente a un’organizzazione di visualizzare, ordinare e configurare i log dalla propria infrastruttura IT, inclusi i log degli eventi di Windows. Log Server può analizzare, raccogliere e archiviare i dati registrati in base a specifiche personalizzate e preassegnate. L’amministratore può impostare avvisi per informare gli utenti di Log Server in caso di potenziale minaccia o malfunzionamento di una risorsa monitorata. Ad esempio, un avviso viene inviato all’amministratore di Microsoft Exchange quando ci sono tre tentativi di accesso non riusciti a Exchange Server, il che significa che potrebbe esserci una persona ingiustificata che tenta di indovinare la password al sistema.
- Nagios Network Analyzer – Nagios Network Analyzer tiene traccia del traffico di rete e dell’utilizzo della larghezza di banda. Network Analyzer è in grado di risolvere interruzioni di rete, anomalie e minacce alla sicurezza. Alcune funzionalità includono avvisi di sicurezza automatizzati, monitoraggio delle applicazioni personalizzabile, integrazione con Nagios IX nonché un calcolatore di utilizzo della larghezza di banda.
- Nagios Fusion – Nagios Fusion è un servizio di clusterizzazione per i server Nagios Core e Nagios XI, che mostra più sistemi in un’unica vista. Fusion condensa la gestione della rete centralizzando funzionalità e dati di XI e Core in un’unica posizione. Questo consente una vista granulare di tutta l’infrastruttura di rete. Con Fusion, un amministratore può specificare quali server XI e Core vengono visualizzati e gestire quali utenti sono autorizzati a visualizzare tali server. Inoltre, gli utenti Fusion possono accedere a qualsiasi server gestito e utilizzare i dati memorizzati nella cache o in tempo reale per configurare grafici e altri elementi grafici da visualizzare sui dashboard.
4 esempi tra i competitor
Tra gli altri strumenti di monitoraggio, commerciali e open source, nel novero dei competitor troviamo Zenoss, Zabbix, Microsoft System Center Operations Manager (SCOM) e SolarWinds.
Zenoss – Zenoss è un software di monitoraggio IT per ambienti IT cloud, virtuali e fisici che monitora server, reti, macchine virtuali, database e altre risorse hardware e software in un’infrastruttura IT. Simile a Nagios, Zenoss è disponibile in una versione open source chiamata Zenoss Core o in opzioni più estese e supportate a pagamento, tra cui Zenoss Service Dynamics e Zenoss as a Service. Service Dynamics è la versione in loco del software, mentre Zenoss come servizio è un’opzione software come servizio (SaaS). Analogamente ai prodotti Nagios, i prodotti Zenoss forniscono plug-in, chiamati ZenPack, che estendono le capacità di monitoraggio.
Zabbix – Zabbix è uno strumento di monitoraggio open source per sistemi operativi Linux, Unix e Windows che si affida agli agenti per raccogliere i dati di monitoraggio. Può anche utilizzare protocolli comuni per il funzionamento senza agente. La tecnologia è progettata per monitorare risorse fisiche e cloud, macchine virtuali, servizi e applicazioni. Zabbix si sta evolvendo sia per l’implementazione in cloud che in locale.
Microsoft System Center Operations Manager – Microsoft System Center Operations Manager consente all’utente di configurare, gestire e monitorare dispositivi e applicazioni tramite la stessa console. SCOM tiene traccia dell’hardware del server, dei servizi di sistema, dei sistemi operativi, degli hypervisor e delle applicazioni. SCOM, come Nagios, si basa su agenti o monitoraggio basato su agenti per la sua raccolta di dati e supporta i plug-in.
SolarWinds – Il software Server & Application Monitor di SolarWinds funziona anche con applicazioni, server e database. Server & Application Monitor offre monitoraggio delle prestazioni, gestione del server, avvisi e report attraverso il monitoraggio senza agenti. Server & Application Monitor supporta anche altri prodotti SolarWinds.