
Suivi du SLA des services vérifiés de Centreon
Quelque chose de curieux et qui, selon les circonstances, peut s’avérer utile peut être de connaître le SLA de tout service que nous surveillons actuellement dans nos Centreons. Il peut également être conçu pour le suivi au niveau de l’entreprise, pour donner de la visibilité sur vos disponibilités.
Comme nous le savons, Centreon stocke ses métriques et statuts dans une base de données MariaDB, nous pouvons simplement au moyen de requêtes MySQL l’obtenir à temps ou en % l’état d’un service supervisé dans Centreon. Nous pourrons savoir combien de temps (ou pourcentage) a été à l’état OK, Avertissement, Critique, Inconnu ou en maintenance. Pour quoi? Puits, Il est bien connu que nous pouvons connaître le SLA de n’importe quel Hôte ou Service dans Centreon, Mais c’en est une autre de la surveiller pour nous alerter lorsqu’elle n’est pas remplie, ou par exemple pour les consulter dans notre Business Service via NagVis.
Pas mal, pour commencer, il serait intéressant que si vous ne surveillez pas les requêtes MySQL, Vérifier Cet article. Lorsque vous avez déjà le script qui vous permet d’interroger les bases de données MySQL, nous pourrons créer les commandes dont nous avons besoin et chacune avec son type de requête. Étant donné que certaines commandes nous aideront à surveiller le SLA des hôtes, Autres services, d’autres nous donneront le résultat à temps et d’autres à temps. %, Donc, en fonction de ce dont vous avez besoin, je vous laisse ici certaines possibilités:
- SLA de OK Services à %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER ROND((SOMME(OKTimeProgrammé)/($ARG1$ * 86400))*100,2) en pourcentage DE log_archive_service, services WHERE log_archive_service.service_id = services.service_id AND description = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR log_id DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA' -U %
- SLA de services OK à temps:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER CONCAT(SOL(HEURE(sec_to_time(SOMME(OKTimeProgrammé))) / 24), 'd_', MOD(HEURE(sec_to_time(SOMME(OKTimeProgrammé))), 24), 'h_', MINUTE(sec_to_time(SOMME(OKTimeProgrammé))), 'm') AS Météo DE log_archive_service, services WHERE log_archive_service.service_id = services.service_id AND description = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR log_id DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA'
- Avertissement des services SLA sur %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER ROND((SOMME(AVERTISSEMENTTimeProgrammé)/($ARG1$ * 86400))*100,2) en pourcentage DE log_archive_service, services WHERE log_archive_service.service_id = services.service_id AND description = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR log_id DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA' -U %
- Avertissement des services SLA à temps:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER CONCAT(SOL(HEURE(sec_to_time(SOMME(AVERTISSEMENTTimeProgrammé))) / 24), 'd_', MOD(HEURE(sec_to_time(SOMME(AVERTISSEMENTTimeProgrammé))), 24), 'h_', MINUTE(sec_to_time(SOMME(AVERTISSEMENTTimeProgrammé))), 'm') AS Météo DE log_archive_service, services WHERE log_archive_service.service_id = services.service_id AND description = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR log_id DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA'
- SLA des services critiques chez %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER ROND((SOMME(CRITIQUETimeProgrammé)/($ARG1$ * 86400))*100,2) en pourcentage DE log_archive_service, services WHERE log_archive_service.service_id = services.service_id AND description = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR log_id DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA' -U %
- SLA des services critiques à temps:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER CONCAT(SOL(HEURE(sec_to_time(SOMME(CRITIQUETimeProgrammé))) / 24), 'd_', MOD(HEURE(sec_to_time(SOMME(CRITIQUETimeProgrammé))), 24), 'h_', MINUTE(sec_to_time(SOMME(CRITIQUETimeProgrammé))), 'm') AS Météo DE log_archive_service, services WHERE log_archive_service.service_id = services.service_id AND description = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR log_id DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA'
- Disponibilité des hôtes SLA sur %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER ROND((SOMME(UPTimeProgrammé)/($ARG1$ * 86400))*100,2) en pourcentage DES hôtes, log_archive_host WHERE log_archive_host.host_id = hosts.host_id AND hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR date_end DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA' -U %
- Disponibilité des hôtes SLA dans le temps:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER CONCAT(SOL(HEURE(sec_to_time(SOMME(UPTimeProgrammé))) / 24), 'd_', MOD(HEURE(sec_to_time(SOMME(UPTimeProgrammé))), 24), 'h_', MINUTE(sec_to_time(SOMME(UPTimeProgrammé))), 'm') AS Tiempo FROM hôtes, log_archive_host WHERE log_archive_host.host_id = hosts.host_id AND hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR date_end DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA'
- SLA de temps d’arrêt des hôtes en %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER ROND((SOMME(DOWNTimeProgrammé)/($ARG1$ * 86400))*100,2) en pourcentage DES hôtes, log_archive_host WHERE log_archive_host.host_id = hosts.host_id AND hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR date_end DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA' -U %
- SLA de Hosts Downtime en Tiempo:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "SÉLECTIONNER CONCAT(SOL(HEURE(sec_to_time(SOMME(DOWNTimeProgrammé))) / 24), 'd_', MOD(HEURE(sec_to_time(SOMME(DOWNTimeProgrammé))), 24), 'h_', MINUTE(sec_to_time(SOMME(DOWNTimeProgrammé))), 'm') AS Tiempo FROM hôtes, log_archive_host WHERE log_archive_host.host_id = hosts.host_id AND hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(Maintenant(), INTERVALLE $ARG 1$ jour) commande PAR date_end DESC" -H 127.0.0.1 -d centreon_storage -u centreon -p CONTRASEÑA_USUARIO_CENTREON -t 60 --no-querytime -T -g -l 'SLA'
Et maintenant, il ne nous reste plus qu’à créer autant de services pour surveiller le SLA que nous souhaitons, Dans cette étude de cas, Je les utilise uniquement pour mesurer le SLA de la Services aux entreprises, et donc de les visualiser dans NagVis. Comme arguments, nous mettrons les jours du SLA qui nous intéressent et dans le Nom du Service, le nom unique d’un Service à vérifier.
Et comme toujours, Après l’enregistrement et l’exportation des paramètres, nous aurons nos services SLA prêts à vérifier, par le biais d’une requête dans la base de données Centreon, le temps ou le pourcentage de l’état d’un Service.
Et à NagVis, avec le gadget RawNumbers, nous serons en mesure d’ajouter les éléments SLA surveillés et ce sera plus attrayant lorsque vous vous déplacerez entre les cartes et que vous connaîtrez le SLA offert par n’importe quel service, Idéal pour les non- 100% techniciens et souhaitent connaître l’état de leur infrastructure en temps réel.