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

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...

Dettagli

WürthPhoenix neteye 2011 – 2012

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...

Dettagli