
Monitoraggio dello SLA degli host in Centreon
Utilizzeremo questo documento per conoscere il % disponibilità delle macchine monitorate presso Centreon. Se abbiamo uno SLA (Accordo sul livello di servizio) A cosa conformarsi, saremo in grado di misurarlo da Centreon e di avvisarci. Oh, e se usi Grafana, lo vedremo anche da lì!
Cosa ho detto, alla fine di questo post saprai come misurare gli SLA offerti da ogni macchina che hai monitorato, assoceremo un Servizio ad ogni Host Centreon per conoscere la disponibilità offerta da detta macchina. In questo modo avrai anche la loro cronologia e se sei interessato potresti ricevere avvisi quando il % è inferiore al valore che ti interessa. E alla fine che, se si utilizza Grafana per visualizzare il monitoraggio Centreon, Ti dirò come visualizzo quei dati, nel caso ti porti qualcosa 🙂
A proposito, Sei ancora interessato, in Questo post Abbiamo visto qualcosa di simile, abbiamo visto come ottenere lo SLA da Centreon Services. Oggi i padroni di casa giocano.
Per misurare lo SLA, dovremo consultare il database di Centreon, che si basa su MariaDB (o MySQL), Quindi, se non ce l'hai, Prima che tu abbia bisogno Recensisci questo post per poter interrogare qualsiasi database MySQL.
Comunque, ricorda che in Centreon lo SLA può essere visualizzato da GUI da “Cronaca” > “Disponibilità” > “Ospita”. Otterremo quegli stessi valori, Ma li monitoreremo, Questo è ciò che è importante!
Avviato! Come sempre inizieremo con il Comando, una volta definito questo primo Comando, Possiamo usarlo tutte le volte che ne abbiamo bisogno. In particolare, questo comando ci darà il % che una macchina è stata in stato OK, Le % di tempo che è stato buono. Come argomenti porta (io) i giorni che vuoi guardare indietro per calcolare lo SLA, 1 giorno, 7 Giorni, 30 Giorni, 365 Giorni… (Ii) Il nome della macchina, che avrei potuto davvero prenderlo con una variabile di Centreon e non chiedere, (Iii) il valore che si desidera da Warning, e (Iv) quello di Critical, Per metterti in guardia, Un valore inferiore a questi valori sarà considerato un avviso. Vi lascio il Comando:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SELEZIONA ROUND((SOMMA(UPTimeProgrammato)/($ARG1$ * 86400))*100,2) in percentuale FROM host, log_archive_host WHERE log_archive_host.host_id = hosts.host_id AND hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(ora(), INTERVALLO $ARG 1$ giorno) ordina PER date_end DESC" -H DIRECCION_IP_CENTREON_CENTRAL -d centreon_storage -u 'USUARIO_MYSQL' -p 'CONTRASEÑA_MYSQL' -t 60 --no-querytime -g -l 'SLA' -U % -w $ARG 3$: -C $ARG$4: -m 'El SLA es del' -n
Se invece di % Vuoi vedere da quanto tempo è attivo, Possiamo cambiare la query in qualcosa di simile a questo:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SELEZIONA CONCAT(PAVIMENTO(ORA(sec_to_time(SOMMA(UPTimeProgrammato))) / 24), 'd_', MOD(ORA(sec_to_time(SOMMA(UPTimeProgrammato))), 24), 'h_', MINUTO(sec_to_time(SOMMA(UPTimeProgrammato))), 'm') AS Tiempo FROM padroni di casa, log_archive_host WHERE log_archive_host.host_id = hosts.host_id AND hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(ora(), INTERVALLO $ARG 1$ giorno) ordina PER date_end DESC" -H DIRECCION_IP_CENTREON_CENTRAL -d centreon_storage -u 'USUARIO_MYSQL' -p 'CONTRASEÑA_MYSQL' -t 60 --no-querytime -T -g -l 'SLA'
Una volta creato il comando, potremmo già creare tutti i Servizi di cui abbiamo bisogno e associarli ai nostri Host, questo esempio ci mostrerà lo SLA dell'ultimo mese di questa macchina, ci darà un avviso quando lo SLA è inferiore a 99% e invierà un messaggio critico quando è inferiore a 95%.
Dopo la registrazione e l'esportazione delle impostazioni di Centreon, Potremo vedere i risultati. In un attimo possiamo controllare lo SLA di ogni dispositivo, Misuralo e miglioralo, o utilizzarlo quando richiesto. Tieni presente che questo script non deve essere eseguito prima delle 6 del mattino poiché Centreon internamente nel database non ha generato i dati per quel giorno e potrebbe fornirci informazioni in qualche modo falsificate, Quindi la cosa migliore da fare è metterci sopra un particolare programma.
E se si dispone di Grafana e si visualizzano i dati di monitoraggio, possiamo calcolare lo SLA in base al periodo di tempo del grafico, per questo, Se guardi, c'è un pannello in cui vedi lo SLA.
Se modifichiamo il pannello 'statistiche', Calcolo lo SLA ottenendolo da 2 Consultazioni, Il primo otterrà i giorni della query (in base a ciò che viene selezionato in Grafana, 24h, 1 mese…); e il secondo ottiene in secondi da quanto tempo il computer è stato in stato OK. Se guardi entrambe le query, sono nascoste, E c'è una terza query che è di tipo matematico e ottiene il % Sulla base di questi due valori. Vi lascio il 2 Query utilizzate:
SELEZIONA CONTEGGIO(*) COME NUMERITO DA log_archive_host, hosts WHERE log_archive_host.host_id = hosts.host_id AND name = 'NOMBRE_DE_HOST' AND $__unixEpochFilter(date_end)
SELEZIONA SOMMA(UPTimeProgrammato) COME TIEMPO_TOTAL DA log_archive_host, hosts WHERE log_archive_host.host_id = hosts.host_id AND name = 'NOMBRE_DE_HOST' AND $__unixEpochFilter(date_end)
($B / ($A * 86400)) * 100
In questo modo saremo in grado di vedere e dimostrare lo SLA che soddisfiamo per ogni macchina che offre servizi nella nostra organizzazione, Vi ricordo che prima metto un link per misurare lo SLA dei servizi, che a seconda di ciò di cui abbiamo bisogno sarebbe l'altra opzione.
Spero come sempre che vada molto bene, di prendervi cura di voi stessi e vi mando un abbraccio!