Performance data in Nagios
Transcript
Performance data in Nagios
ALYVIX: INTEGRAZIONE CON NAGIOS! ! In questo tutorial vedremo come sia possibile far partire un testcase da Nagios e recuperare così i dati di performance generati con Alyvix.! ! Vogliamo concentrarci sull’integrazione tra Alyvix e Nagios, quindi creeremo un testcase semplice (per qualcosa di più complesso vedere il testcase su Citrix) per concentrarci in dettaglio sulla parte relativa all’integrazione. Il nostro testcase si occuperà di aprire un url (per la precisione un video su youtube) e di verificare quanto tempo impiega la finestra di internet explorer ad aprirsi.! ! Il testcase è abbastanza banale, possiamo vederne la struttura in Fig. 1! ! 1.png ! Prima di addentrarci nel dettaglio su come integrare Alyvix con Nagios, analizziamo brevemente il testcase: in riga 1 e 2 utilizziamo la Keyword Add Perfdata per inizializzare le performance data per Nagios, youtube_start_time conterrà il tempo che impiegherà la finestra di Internet Explorer a caricare l’url del video di youtube, youtube_close_time invece conterrà il tempo impiegato dalla finestra di Internet Explorer a chiudersi.! In riga tre creiamo una variabile che contiene l’url del video che vogliamo caricare (https:// www.youtube.com/watch?v=C6qpCABXDp4)! In riga 4 facciamo partire Internet Explorer con l’url creato sopra.! In riga 5 creiamo una variabile, show_time, che recupera il tempo ritornato dalla Keyword Wait Window, la quale attende che compaia una finestra che ha come titolo la regular expression passata come argomento, indicata nell’ultima cella della riga.! In riga 6 facciamo uno sleep di 1 secondo, giusto per avere il tempo di vedere cosa succede.! In riga 7 chiudiamo la finestra.! Nella riga 8 creiamo una variabile, close_time, assegnandole come valore il tempo che impiega la finestra a chiudersi. Il conteggio di questo tempo parte non appena termina la chiamata alla Keyword Close Window e termina quando la finestra si effettivamente si chiude.! In riga 9 e 10 assegnamo i valori alle rispettive performance. Abbiamo messo una soglia di warning e critical rispettivamente a 5 e 10 secondi per tutti e due i grafici.! In fine, in riga 11, stampiamo sullo standard output le performance per Nagios.! ! Ora che abbiamo spiegato brevemente il testcase, possiamo vedere il modo per farlo partire a linea di comando, una volta visto ciò sarà semplice integrare un check in Nagios che faccia partire tale comando.! ! Nella cartella di installazione di Anaconda, dentro la directory Scripts, è contenuto un file chiamato alyvix_pybot.py! ! Tale file contiene lo script che serve a lanciare uno o più testcase da linea di comando.! ! Per eseguire il tutto è sufficiente questo comando:! ! python alyvix_pybot.py <project_name>! ! Con l’istruzione di sopra Alyivix farà partire tutti i testcase contenuti nel nostro progetto.! ! Il nostro progetto (che abbiamo chiamato NagiosTest) contiene un solo testcase, chiamato AlyvixVideo, come visibile in Fig. 2 (di cui abbiamo visto il dettaglio in Fig. 1), per eseguirlo da prompt abbiamo inserito il comando visibile in Fig. 3. ! 2.png 3.png ! ! Tale comando restituirà solo l’output utile a Nagios, come visibile in Fig. 4.! 4.png ! ! Ora risulterà abbastanza semplice, tramite NSClient++ (creando una new entry nel file NSC.ini che faccia partire il comando descritto sopra), far partire il testcase da Nagios.! Il mio consiglio è di rendere parametrizzabile il nome del progetto e/o dei singoli testcase se esso ne contiene più di uno, in maniera tale da poter scegliere direttamente dal server Nagios quale lanciare.! ! Un’ultima nota sul file alyvix_pybot.py, utilizzando il comando python alyvix_pybot.py -h è possibile ottenere la lista dei parametri opzionali che è possibile impartire, come visibile in Fig. 5.! ! 5.png ! Ad esempio, se il nostro progetto dovesse contenere più testcase, aggiungendo in coda al comando --test <testcase_name>, Alyvix farà partire soltanto quel testcase.! ! aggiungendo --outputdir <directory_name> abiliteremo i log del Robot Framework (quelli che vediamo in RIDE dopo aver eseguito i nostri testcase), salvandoli nel percorso indicato.
Documenti analoghi
Ottimizzare l`usabilità tramite End-to
più famose ed efficaci, come ad esempio OpenCV e Tesseract-OCR. Con l’utilizzo di
queste tecnologie il software rende possibile la misurazione dei tempi di risposta
percepiti dagli utenti, anche qu...
WürthPhoenix neteye 2011 – 2012
Syslogview
è
stata
introdotta
una
nuova
tecnologia che si basa sul
progetto Open Source
Apache Lucene™.
Invece di compiere ricerche
su ogni file basandosi su
schemi
specifici
con
Apache Lucene™ è p...