Uno degli aspetti della sicurezza è il controllo costante delle funzionalità e dei parametri di lavoro di un impianto. Anche il mondo IT non si sottrae da questa regola, ed anzi ne rafforza il concetto e l’estensione.
Chiunque abbia la responsabilità di tenere in funzione una qualsiasi infrastruttura IT, da una piccola rete ad un grande centro di calcolo, deve poter ricorrere a strumenti di controllo in grado certamente di segnalare il verificarsi di problemi, ma anche di anticipare eventi potenzialmente disastrosi come un disco pieno o un picco di temperatura.
Anche qui, sotto licenza Open Source è possibile trovare strumenti per tutte le esigenze e per tutti i gusti. Personalmente preferisco OpenNMS.
Le ragioni per preferire OpenNMS
Per prima cosa occorre focalizzare il tipo di utenti per cui è pensato OpenNMS, cioè professionisti con un livello di esperienza medio-alto. Il perché è presto detto: nella sua configurazione di installazione OpenNMS può assolvere le principali funzioni di un software di monitoraggio e gestione allarmi, con moderate possibilità di configurazione tramite l’interfaccia web, ma per sfruttare appieno le potenzialità offerte dalla struttura e dai servizi presenti in OpenNMS occorre mettere pesantemente le mani sulla configurazione interna, basata su decine di file XML e file properties di Java; per poterlo fare con profitto occorre conoscerlo a fondo e conoscere a fondo protocolli come SNMP.
Se si intende usare un programma “installa e fa tutto lui”, OpenNMS non è il prodotto per voi. Se, invece, avete bisogno di:
- controllare apparati di rete, server e servizi, senza installare nulla sulle macchine da controllare
- avere grafici di utilizzo delle risorse (disco, rete, memoria, traffico, …)
- tenere sotto controllo parametri ambientali o di altro tipo (temperature, tensioni, consumi, …)
- definire soglie di allarme per tutti i parametri tenuti sotto controllo
- ricevere notifiche al verificarsi di condizioni anomale (caduta di un servizio, spegnimento di un apparato, dischi prossimi al riempimento, temperature elevate, picchi di attività insolite, …)
- definire differenti livelli di notifica in funzione degli apparati e del tipo di evento
- usare e-mail, SMS, messaggi istantanei, messaggi Twitter o qualsiasi altro sistema preferite per ricevere gli allarmi
- mettere sotto controllo apparati non commerciali o creati su commissione
- comunicare con altri prodotti di sorveglianza o sistemi di gestione ticket
allora è molto probabile che OpenNMS sia un ottimo punto di partenza.
Qualche esempio
Vediamo qualche esempio pratico. Non avendo sensori di temperatura sotto mano, ho sfruttato i sensori interni dei server di ultima generazione, che misurano anche la temperatura dell’aria ambiente, aspirata dal sistema di ventilazione interna, per tenere sotto controllo il condizionamento di alcune sale apparati dislocate in palazzine differenti.
Dopo aver definito la corretta configurazione SNMP per leggere queste temperature, ho preparato una pagina che riassume tutte le letture proveniente dalle differenti sale, usando l’apposita funzione di OpenNMS, chiamata “KSC Reports”.
Nella schermata sopra si possono vedere i grafici con le temperature prese direttamente dai computer. Dato che ho provveduto a rilevare temperatura da due macchine differenti per ogni sala, ho anche una sorta di ridondanza di sensore.
Per chiudere il cerchio ho impostato un allarme sulla soglia di temperatura: se vengono superati i 27° per più di 10 minuti viene avvertito con e-mail il servizio di manutenzione elettricità e condizionamento. Se entro altri 10 minuti nessuno interviene viene avvisato il gruppo di tecnici di presidio, sempre con e-mail. Passati altri 10 minuti, al persistere della condizione di allarme, e se nessuno “accusa il ricevuto” sull’interfaccia web di OpenNMS, vengo avvisato con un SMS ed un messaggio e-mail del problema. L’SMS è inviato tramite un server di gateway SMS Kannel, configurato da me per essere usato anche con OpenNMS. Naturalmente, anche il gateway SMS è tenuto sotto controllo, e se per qualche motivo l’invio di SMS fallisce (mancanza di campo o esaurimento del credito), vengo avvisato.
In una applicazione usata per il Doppiaggio, ho fornito gli spazi di archiviazione. Per motivi facili da immaginare, venivo chiamato quando lo spazio disco era esaurito perché “il server è guasto”.
Ho semplicemente aggiunto un controllo di soglia per il superamento del 60% di spazio occupato, per cui viene avvisato il reparto di fare pulizia per le cose non più necessarie. Infatti, come si vede dal picco in discesa sul lato destro del grafico in basso, qualche giorno dopo hanno provveduto.
Alcune periferiche mettono a disposizione anche informazioni più specifiche.
Nella schermata sopra, una stampante con interfaccia di rete permette di controllare pagine stampate e quantità di toner rimasta. Come si può notare dal grafico, gli intervalli temporali possono essere modificati a piacere: in questo caso è mostrato un intervallo di alcune settimane.
Non rinunciare a nulla
Per quanto riguarda le potenzialità, vi sono installazioni che controllano qualche centinaio di apparati usando computer di modesta potenza, mentre versioni virtualizzate possono controllare agevolmente un centinaio fra server ed apparati di rete. Se poi la rete da tenere sotto controllo è molto grande, vi è la possibilità di distribuire unità periferiche di controllo, a cui viene demandata un’area circoscritta, che però fanno sempre riferimento al nodo centrale.
La gestione utenti è sofisticata, con possibilità di decidere anche differenti livelli di accesso e turni di presenza e di reperibilità del personale.
Fra le altre funzioni, c’è la possibilità di avere mappe della propria infrastruttura (poco utilizzata, e chi usa questi software ne sa bene il motivo: è del tutto inutile ai fini della sorveglianza), la gestione completa del database degli asset (con tanto di estremi del contratto di manutenzione, del telefono dell’assistenza e posizione dell’apparecchiatura all’interno della sala apparati), generazione di report tramite JasperReport (un esempio in PDF).
Conclusioni
Se mai ce ne fosse ancora bisogno, OpenNMS è una delle tante conferme che l’Open Source è maturo e pronto per applicazioni a livello enterprise. Ma proprio per questo, e proprio perché OpenNMS è un prodotto destinato ad un uso professionale, occorre rivolgersi a persone competenti per ottenere i risultati cercati.
Open Source non è sinonimo di “a costo zero”. Semmai, vuol semplicemente dire: “invece di licenze, acquista know-how“.





Ciao, bell’articolo ! Pure io ho usato questo ottimo software e devo dire che, tra tutti quelli che ho provato, (zabbix, nagios,cacti) mi è sembrato il migliore sia come caratteristiche offerte che come “maturità” del prodotto. Io l’ho usato esclusivamente per monitoraggio apparati di rete (switch e telefoni voip) tramite snmp, e non mi ha deluso: non si è mai bloccato, non ha fatto mai cose strane….che dire: pure io mi sento di consigliarlo apertamente a chi vuole un prodotto open source ma con prestazioni paragonabili a software proprietari molto piu’ blasonati e…costosi
A presto.