In relazione con quanto scritto da Andrea di Lernia in precedenza, vorrei aggiungere dei particolari tecnici sul plugin Nagios Business Process. Come spiegato da Andrea, grazie a questo Add-on e’ possibile strutturare i host e servizi di Nagios in modo da riflettere la propria infrastruttura. Includendo nella struttura anche le dipendenze e’ possibile simulare l’effetto che l’avaria di un servizio puo’ avere sull’intera infrastruttura.
Per poter determinare lo stato dei processi aziendali, il plugin deve naturalmente poter avere accesso alle informazioni di Nagios. Esistono 3 possibili interfacce con Nagios che funzionano con il plugin:
Si tratta di 3 backend per i dati di Nagios; a seconda della grandezza dell’infrastruttura monitorata, conviene scegliere un interfaccia piuttosto che un’altra. Nel caso di NetEye abbiamo preferito utilizzare mk_livestatus, non solo perche’ veniva gia usato per altri progetti, ma sopratutto perche’ per le sue prestazioni, migliori delle altre soluzioni perche’ non necessita di un database.
I processi Business vengono definiti nell’addon tramite delle formule che definiscono le relazioni tra i host e i servizi. Esistono 3 tipi di relazioni: “and”, “or” e “min-of”.
Il primo definisce una relazione di dipendenza lineare tra due servizi; semplificando molto, ad esempio potremmo definire il processo aziendale “Servizio email” come la somma dei servizi di POP, IMAP, SMTP e DNS di un determinato server, in formula:
email_business_process = server:POP & server:IMAP & server:SMTP & server:DNS
La relazione “or” viene usata per definire un servizio ridondante o un cluster; nell’esempio di prima potremmo modificare la voce DNS nel caso avessimo 2 domain controllers, per cui:
dns = server1:DC | server2:DC
email_business_process =
server:POP & server:IMAP & server:SMTP & dns
In questo modo il processo dns e’ ridondante, e il servizio email risulterà’ in funzione anche se uno dei due domain controller dovesse non funzionare.
L’ultima relazione, “min-of”, estende la ridondanza, dando la possibilità’ di specificare un numero minimo di servizi funzionanti, all’interno di un sistema ridondante. Un esempio potrebbe essere un web server, con un load balancing distribuito su 3 macchine. Per questioni di performance, si potrebbe definire funzionante il processo aziendale “Sito web” solo quando 2 dei 3 sono funzionanti:
website = 2 of: server1:HTTPD + server2:HTTPD + server3:HTTPD
Grazie a queste 3 semplici relazioni e’ possibile illustrare e monitorare con il plugin anche le infrastrutture più’ complesse.
Il plugin offre la possibilita’ di creare automaticamente servizi Nagios dai processi aziendali creati. Questo permette al sistema di monitoraggio di effettuare valutazioni sulla affidabilità’ delle infrastrutture e all’IT manager di creare accurati availability reports sui processi aziendali, spesso necessari per accordi di SLA.
Qui in Wuerth Phoenix stiamo sviluppando un front-end che renda piu’ facile la costruzione dell’albero di relazioni tra i propri host e servizi. Questo prodotto verrà presto integrato in NetEye, ne mostro intanto alcune funzionalità’: