NetSaint: una soluzione OpenSource
per il network monitoring
Paolo Lo Re [[email protected]]
Giuseppe Sava [[email protected]]
Gennaro Tortone [[email protected]]
Padova – Dicembre 2001
Intro
NetSaint è un’applicazione OpenSource scritta in C per il
network monitoring
Supporta “ufficialmente” Linux anche se esistono porting per
*BSD, Compaq True64, AIX, SCO, Solaris, IRIX, HP-UX
last stable release: 0.0.6
last beta release: 0.0.7b7
Ottobre 2001: NetSaint cambia nome in Nagios (www.nagios.org)
Caratteristiche






monitoraggio dei servizi di rete
(SMTP, POP3, NNTP, HTTP, ecc.)
monitoraggio delle risorse degli host
(CPU load, spazio disco, ecc.)
possibiltà di creare “gerarchie di host” definendo dei “parent
host” in modo da rilevare eventuali “host irrangiungibili”
possibilità di definire dei “contacts” da notificare (via email,
SMS, etc.) in caso di problemi con host e/o servizi
possibilità di definire degli “event handlers” da eseguire su host
remoti in caso di problemi con dei servizi
interfaccia web per monitorare lo status degli host e dei servizi,
cronologia dei problemi e delle notifiche, ecc.
Caratteristiche




monitoraggio tramite l’esecuzione di plugin
possibilità di definire degli account abilitati alla consultazione di
alcune sezioni dell’interfaccia web per il controllo selettivo di
host e/o servizi
Novita’ nella versione 0.0.7
supporto per il logging degli eventi in database tramite
PostgreSQL
interprete Perl integrato
Architettura
Plugins



NetSaint non include all’interno del suo codice i meccanismi di
controllo dei servizi e degli host
esistono dei programmi esterni (chiamati plugins) che svolgono
questo compito
NetSaint esegue un plugin specificato nella definizione di un
host o di un servizio, interpreta i valori di ritorno e intraprende
le azioni opportune (notifiche, event handler, ecc.)
Architettura
Architettura


Pro
questa architettura estremamente modulare rende possibile il
monitoraggio di qualsiasi servizio o risorsa incoraggiando lo
sviluppo di routine personalizzate che restituiscano valori di
controllo appropriati alla logica di NetSaint (es. controllo della
temperatura in un locale, ecc.)
Contro
l’unico svantaggio e’ che NetSaint non ha assolutamente idea di
cosa stiamo monitorando; non e’ possibile produrre dei grafici
relativi alle “misure” effettuate dai plugins; tali rappresentazioni
possono prendere in considerazione solo i “cambiamenti di
stato” effettuati dal servizio o dalla risorsa nel tempo.
Architettura
Event handlers
Un event handler e’ un comando che viene eseguito da NetSaint
quando avviene un cambiamento di stato per un host o un
servizio. Esistono due tipi di event handlers:


event handlers per servizi
event handlers per host
Inoltre e’ anche possibile definire degli event handlers globali
che vengono eseguiti da NetSaint per ogni cambiamento di
stato relativo ad un host o ad un servizio.
Architettura
Controllo “indiretto” di host e servizi


ci sono diverse risorse da monitorare che non sono “pubbliche”
come i servizi di rete, come ad esempio lo spazio libero su un
hard disk, il carico della CPU, ecc. Queste risorse non possono
essere monitorate senza l’installazione di un “agente” sull’host
da controllare.
i checks che richiedono l’utilizzo di un agente remoto sulla
macchina da monitorare vengono chiamati “controlli indiretti”.
Essi sono utili per:

monitorare risorse “locali” (utilizzo del disco, numero di utenti
collegati) di un host remoto

monitorare servizi e host localizzati dietro un firewall
Architettura
L’immagine seguente mostra il
funzionamento di un check indiretto
mediante l’utilizzo di un addon
chiamato NRPE
(NetSaint Remote Plugin Executor)
L’host NetSaint esegue un plugin
chiamato check_nrpe che si interfaccia
via rete con l’agente NRPE il quale
lancia il plugin direttamente sull’host
remoto e comunica i risultati ottenuti.
Esiste anche NRPEP che possiede le
stesse funzionalità di NRPE, ma e’
scritto in Perl e utilizza le librerie CryptTripleDES 0.24 e Digest-MD5 2.09 per
crittografare lo scambio di informazioni
tra host NetSaint e host remoto.
Architettura
Controllo “passivo” di host e servizi
A partire dalla versione 0.0.6 NetSaint e’ in grado di raccogliere i
risultati dei check provenienti dai plugins che vengono eseguiti su host
remoti.
I check “passivi” sono utili per:

monitorare servizi e host localizzati dietro un firewall

monitorare servizi “asincroni” (SNMP traps, security alerts, ecc.);
Quando un’applicazione esterna compie un check scrive (in un
determinato formato) i risultati dell’esecuzione nel file netsaint.cmd.
Periodicamente NetSaint effettua la raccolta dei risultati presenti nel file
e li elabora secondo la logica di controllo.
Architettura
Se l’applicazione che invia i risultati dei
controlli “passivi” risiede sullo stesso
host di NetSaint, allora puo’ scrivere
direttamente nel file netsaint.cmd.
Viceversa, se l’applicazione risiede su
un host remoto, esiste un addon,
chiamato NSCA (NetSaint Service
Check Acceptor), che viene installato
sulla macchina NetSaint e sull’host
remoto. Il daemon presente sull’host
NetSaint autentica le connessioni
provenienti dai client remoti, accetta i
risultati che vengono trasmessi e li
scrive direttamente nel file
netsaint.cmd
Addons disponibili



NEAT (NetSaint Easy Administration Tool)
Neat è un interfaccia web per l’amministrazione di NetSaint.
Consente di aggiungere, modificare ed eliminare, in maniera
semplice ed intuitiva, host e servizi dai file di configurazione di
NetSaint
NRPE (NetSaint Remote Plugin Executor)
Nrpe è un agente che permette di eseguire plugin su host
remoti. Può essere eseguito sull’host da monitorare sia in
daemon-mode che mediante inetd. E’ anche disponibile la
versione in Perl che crittografa il traffico in transito (NRPEP)
NSCA
Nsca consente di inviare, da un host remoto, i risultati
dell’esecuzione locale dei plugin al server NetSaint
Proposte di utilizzo

NetSaint come possibile tool di network monitoring della GRID





raggiungibilità host
risoluzione automatica fault servizi tramite event-handler
disponibilità dei servizi Globus (GRIS, GIIS, GSIFTP, Gatekeeper)
notifiche sullo stato delle risorse
NetSaint come possibile tool di LAN monitoring di host e servizi
all’interno delle sezioni INFN
Riferimenti

http://netsaint.sourceforge.net
home page del progetto NetSaint

http://netsaintplug.sourceforge.net
home page del progetto di sviluppo dei plugins

http://www.na.infn.it/compreso/netsaint/netsaint.pdf
guida all’installazione in italiano (alpha release)
Scarica

Netsaint: una soluzione OpenSource per il network monitoring