Überwachung des SLA von Centreon Checked Services

Etwas Merkwürdiges, das von den Umständen abhängt, kann sich als nützlich erweisen. Es kann sein, dass Sie das SLA eines jeden Dienstes kennen, den wir derzeit in unserem Centreon überwachen. Es kann auch für die Überwachung auf Unternehmensebene entwickelt werden, um Ihre Verfügbarkeit sichtbar zu machen.

wie wir wissen,, Centreon speichert seine Metriken und Zustände in einer MariaDB-Datenbank, wir können einfach mittels MySQL-Abfragen rechtzeitig oder in % den Status eines überwachten Dienstes in Centreon. Wir können wissen, wie lange (oder Prozentsatz) war im OK-Status, Warnung, Kritisch, Unbekannt oder in Wartung. Wofür? gut, Jeder weiß, dass wir die SLA jedes Hosts oder Dienstes in Centreon kennen können, aber eine andere Sache ist, es zu überwachen, um uns zu warnen, wenn dies nicht erfüllt ist, oder zum Beispiel in unserem Business Service über NagVis anzuzeigen.

gut, zu Beginn wäre es interessant, wenn Sie MySQL-Abfragen nicht überwachen, schau mal rein es ist Post. Wenn Sie bereits über das Skript verfügen, das Abfragen an MySQL DB ermöglicht, Wir können die Befehle erstellen, die wir brauchen, und jeden mit seiner Art von Abfrage. Da uns einige Befehle helfen, das SLA von Hosts zu überwachen, andere Dienstleistungen, andere werden uns das Ergebnis mit der Zeit geben und andere in %, also je nachdem was du brauchst überlasse ich dir hier gewisse möglichkeiten:

  • SLA der Dienste OK in %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "RUNDE WÄHLEN((SUMME(OKTimeGeplant)/($ARG1$ * 86400))*100,2) als porcentaje FROM log_archive_service, services WHERE log_archive_service.service_id = services.service_id UND description = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag) bestellen NACH log_id DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA' -U %

  • SLA der Dienste pünktlich in Ordnung:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "WÄHLEN SIE CONCAT(UMHAUEN(STUNDE(sec_to_time(SUMME(OKTimeGeplant))) / 24), 'D_', MOD(STUNDE(sec_to_time(SUMME(OKTimeGeplant))), 24), 'h_', MINUTE(sec_to_time(SUMME(OKTimeGeplant))), 'm') AS Tiempo FROM log_archive_service, services WHERE log_archive_service.service_id = services.service_id UND description = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag) bestellen NACH log_id DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA'

  • SLA für Warndienste in %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "RUNDE WÄHLEN((SUMME(WARNUNGZeitgesteuert)/($ARG1$ * 86400))*100,2) als porcentaje FROM log_archive_service, services WHERE log_archive_service.service_id = services.service_id UND description = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag) bestellen NACH log_id DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA' -U %

  • Zeitwarndienst SLA:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "WÄHLEN SIE CONCAT(UMHAUEN(STUNDE(sec_to_time(SUMME(WARNUNGZeitgesteuert))) / 24), 'D_', MOD(STUNDE(sec_to_time(SUMME(WARNUNGZeitgesteuert))), 24), 'h_', MINUTE(sec_to_time(SUMME(WARNUNGZeitgesteuert))), 'm') AS Tiempo FROM log_archive_service, services WHERE log_archive_service.service_id = services.service_id UND description = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag) bestellen NACH log_id DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA'

  • SLA für kritische Dienste in %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "RUNDE WÄHLEN((SUMME(KRITISCHZeitgesteuert)/($ARG1$ * 86400))*100,2) als porcentaje FROM log_archive_service, services WHERE log_archive_service.service_id = services.service_id UND description = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag) bestellen NACH log_id DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA' -U %

  • Pünktliche SLA für kritische Dienste:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "WÄHLEN SIE CONCAT(UMHAUEN(STUNDE(sec_to_time(SUMME(KRITISCHZeitgesteuert))) / 24), 'D_', MOD(STUNDE(sec_to_time(SUMME(KRITISCHZeitgesteuert))), 24), 'h_', MINUTE(sec_to_time(SUMME(KRITISCHZeitgesteuert))), 'm') AS Tiempo FROM log_archive_service, services WHERE log_archive_service.service_id = services.service_id UND description = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag) bestellen NACH log_id DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA'

  • SLA de Hosts Uptime de %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "RUNDE WÄHLEN((SUMME(UPTimeGeplant)/($ARG1$ * 86400))*100,2) als porcentaje VON Gastgebern, log_archive_host WO log_archive_host.host_id = hosts.host_id UND hosts.name = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag)  bestellen NACH Datum_Ende DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA' -U %

  • SLA der Hosts Uptime in Time:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "WÄHLEN SIE CONCAT(UMHAUEN(STUNDE(sec_to_time(SUMME(UPTimeGeplant))) / 24), 'D_', MOD(STUNDE(sec_to_time(SUMME(UPTimeGeplant))), 24), 'h_', MINUTE(sec_to_time(SUMME(UPTimeGeplant))), 'm') AS Tiempo FROM Gastgeber, log_archive_host WO log_archive_host.host_id = hosts.host_id UND hosts.name = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag)  bestellen NACH Datum_Ende DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA'

  • SLA die Ausfallzeit des Hosts und %:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "RUNDE WÄHLEN((SUMME(DOWNTimeGeplant)/($ARG1$ * 86400))*100,2) als porcentaje VON Gastgebern, log_archive_host WO log_archive_host.host_id = hosts.host_id UND hosts.name = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag)  bestellen NACH Datum_Ende DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA' -U %

  • SLA für Ausfallzeiten rechtzeitig hosten:
$CENTREONPLUGINS$/Nagios-Plugins/check_mysql_query.pl -q "WÄHLEN SIE CONCAT(UMHAUEN(STUNDE(sec_to_time(SUMME(DOWNTimeGeplant))) / 24), 'D_', MOD(STUNDE(sec_to_time(SUMME(DOWNTimeGeplant))), 24), 'h_', MINUTE(sec_to_time(SUMME(DOWNTimeGeplant))), 'm') AS Tiempo FROM Gastgeber, log_archive_host WO log_archive_host.host_id = hosts.host_id UND hosts.name = '$ARG2$' UND from_unixtime(date_end) > date_sub(jetzt(), INTERVALL $ARG1$ Tag)  bestellen NACH Datum_Ende DESC" -H 127.0.0.1 -d centeron_storage -u centeron -p CENTRAL_USER_PASSWORD -t 60 --keine Abfragezeit -T -g -l 'SLA'

Und jetzt müssen wir nur noch so viele Services erstellen, um das SLA zu überwachen, wie wir interessiert sind, in diesem praktischen Fall, Ich verwende sie nur, um das SLA der Geschäftsdienstleistungen, und daher in NagVis anzuzeigen. Als Argumente werden wir die Tage des SLA angeben, an denen wir interessiert sind, und im Namen des Dienstes, der eindeutige Name eines zu überprüfenden Dienstes.

Und wie immer, nach dem Speichern und Exportieren der Konfiguration, Wir halten unsere SLA-Services bereit, um durch eine Abfrage in der Centreon-Datenbank die Zeit oder den Prozentsatz des Status eines Service zu überprüfen.

Und in NagVis, Mit dem RawNumbers-Gadget können wir die überwachten SLA-Elemente hinzufügen und es wird attraktiver, wenn Sie zwischen Karten wechseln und das SLA kennen, das von jedem Dienst angeboten wird, ideal für Profile nein 100% Techniker und wollen den Status ihrer Infrastruktur in Echtzeit wissen.

Hector Herrero
Letzte Artikel von Hector Herrero (Alle anzeigen)