Come sarebbe il lavoro di un amministratore di rete, se i sistemi da controllare hanno l’abilita’ di curarsi da solo ? Sicuramente non deve ancora preoccuparsi di non avere nessune attivita’ da svolgere, pero’ ne esiste la possibilita’ di tentatare di ristabilire servizi e processi dopo un eventuale scoperta di un problema.
Questa e’ l’attivita’ die Eventhandling, l’abilita’ di prendere un’azione dopo la scoperta di un problema su un servizio in NetEye. Esempi classici per queste attivita’ sono il riavvio del servizio del SQL server dopo un suo arresto o il riavvio di una macchina se la memoria si riempie. Certamente questa attivita’ non sostituisce il controllo dell’amministratore sul “perche'” di un problema, un riavvio immediato puo’ pero’ evitare lascoperta del disservizio da parte dell’utente.
Questo articolo vuole introdurre la configurazione di un eventhandler che controlla il servizio del MySQL server su un sistema Windows.
La configurazione del sistema Windows:
Installare l’NSClient++ tramite script di Installatione situato sul server NetEye. Ulteriore documentazione e’ inclusa dentro la WiKi di NetEye. Altrimenti si puo’ consultare il sito del progetto http://sourceforge.net/projects/nscplus.
Lo script potrebbe contenere questa struttura di commandi:
IF NOT ("%1")==("") (GOTO StartService) echo Please pass the servicename as argument. exit 1 :StartService net start %1 exit 0
La configurazione dentro NetEye:
Aprire il servizio del host al quale abbinare l’eventhandler. Visualizzare il Tab “Service Detail” e selezionare nella sezione event handler il commando appena configurato.
Attenzione: Assicurarsi di togliere il flag nella riga del eventhandler per evitare che si applici di nuovo il valore del template di default.
Concludendo si esegue in “Commit” delle impostazioni verso Nagios e l’eventhandler entra in funzione al primo critical del servizio “check_mysql”.
La gestione eventi si attiva con la configurazione presente gia’ al primo rilevamento di un problema, il che significa gia’ quando avviene il primo soft warning o critical. Nel nostro caso invece desideriamo tentare il riavvio del servizio MySQL solo una volta ( se dovessero esserci problemi a livello di database tentativi multipli potrebbero causare piu’ danni che risolvere il problema ).
Per questo lo scipt installato a lato server NetEye ignora le chiamate di gestione eventi affinche il tipo di stato di Non-OK e’ soft. Una volta eseguiti tutti i check retry (sempre stato SOFT), il primo risultato di check che ritorna uno stato HARD lancia ancora un ultima volta l’eventhandler: e proprio questo risultato che indica all’eventhandler di lanciare effettivamente il tentativo di riavviare il file .bat sul server remoto per tentare il riavvio del servizio indicato come argomento.