监控 Centreon 中主机的 SLA

我们将使用本文档来了解 % Centreon 监控的机器的可用性. 如果我们有 SLA (服务等级协议) 需要遵守的内容, 我们将能够从 Centreon 测量它并提醒我们. 哦,如果您使用 Grafana,我们也会从那里看到它!

我说了什么, al final de este post sabrás cómo medir el SLA que ofrece cada máquina que tengas monitorizada, le asociaremos un Servicio a cada Host de Centreon para conocer la disponibilidad que ofrece dicha máquina. Así tendrás también su histórico y si te interesase podrías recibir alertas cuando el % sea menor del valor que te interese. Y al final eso, si usáis Grafana para visualizar vuestra monitorización de Centreon, os diré cómo visualizo ese dato, por si os aporta algo 🙂

顺便一提, igual te interesa, 在 这篇文章 vimos algo similar, vimos cómo obtener el SLA de los Servicios de Centreon. Hoy tocan los Hosts.

Para poder medir el SLA necesitaremos hacer una consulta a la propia base de datos de Centreon, que está basada en MariaDB (o MySQL), así que si no lo tienes, antes necesitas revisar este post para poder hacer queries a cualquier BD de MySQL.

无论如何, recordar que en Centreon el SLA se puede ver por GUI desde “报告” > “Availability” > “主机”. Nosotros obtendremos esos mismos valores, pero los monitorizaremos, eso es lo importante!

开始! Como siempre empezaremos por el Comando, una vez definamos este primer Comando, lo podremos usar tantas veces como necesitemos. En concreto este comando nos dará el % que ha estado una máquina en estado OK, 这 % de tiempo que ha estado bien. Como argumentos lleva (我) los días que quieres mirar atrás para calcular el SLA, 1 día, 7 日, 30 日, 365 日… (第二) el nombre de la máquina, que realmente lo podría haber cogido con una variable de Centreon y no preguntarlo, (第三) el valor que quieres de Warning y (四) el de Critical, para que te alerte, menos de esos valores serán considerados alerta. os dejo el Comando:

$CENTREONPLUGINS$/Nagios-插件/check_mysql_query.pl -q "选择圆角((和(UPTimeScheduled 计划)/($ARG1$ * 86400))*100,2) 饰演 porcentaje FROM hosts, log_archive_host  WHERE log_archive_host.host_id = hosts.host_id AND  hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(现在(), 间隔 $ARG 1$ 天)  订购方式 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 $ARG3$: -c $ARG4$: -m 'El SLA es del' -n

Si en vez de % queréis ver el tiempo que ha estado levantada, podremos cambiar la query por algo como esto:

$CENTREONPLUGINS$/Nagios-插件/check_mysql_query.pl -q "选择 CONCAT(地板(小时(sec_to_time(和(UPTimeScheduled 计划))) / 24), 'd_', 国防部(小时(sec_to_time(和(UPTimeScheduled 计划))), 24), 'h_', 分钟(sec_to_time(和(UPTimeScheduled 计划))), 'm') AS Tiempo FROM 主机, log_archive_host  WHERE log_archive_host.host_id = hosts.host_id AND  hosts.name = '$ARG2$' AND from_unixtime(date_end) > date_sub(现在(), 间隔 $ARG 1$ 天)  订购方式 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'

创建 Command 后, ya podríamos crear tantos Servicios como necesitemos y asociarlos a nuestros Hosts, este ejemplo nos mostrará el SLA del último mes de esta máquina, nos dará Warning cuando el SLA sea menor al 99% y lanzará mensaje de Critical cuando sea menor del 95%.

记录和导出您的 Centreon 设置后, ya podremos ver los resultados.En un momentito podemos llegar a controlar el SLA de cada equipo, medirlo y mejorarlo, o usarlo cuando se nos solicite. Tener en cuenta que este script no debe ejecutarse antes de las 6am ya que Centreon internamente en la BBDD no ha generado los datos de dicho día y nos puede dar algo falseada la info, así que lo mejor es ponerle una programación particular.

Y si tenéis Grafana y veis datos de monitorización, podemos calcular el SLA en base al periodo del tiempo de la gráfica, 为此, si os fijáis, hay un panel donde se ve el SLA.

Si editamos el panel de tipo ‘estadística’, calculo el SLA obteniéndolo de 2 consultas, la primera obtendrá los días de la query (en base a lo que se seleccione en Grafana, 24h, 1 月…); y la segunda obtiene en segundos cuánto tiempo ha estado el equipo en estado OK. Si os fijáis ambas queries están ocultas, y hay una tercera query que es de tipo matemático y obtiene el % en base a estos dos valores. os dejo las 2 queries usadas:

选择计数(*) AS NUMERITO FROM log_archive_host, hosts  WHERE log_archive_host.host_id = hosts.host_id AND name = 'NOMBRE_DE_HOST'  AND  $__unixEpochFilter(date_end)

选择 SUM(UPTimeScheduled 计划) as TIEMPO_TOTAL FROM log_archive_host, hosts  WHERE log_archive_host.host_id = hosts.host_id AND name = 'NOMBRE_DE_HOST'  AND $__unixEpochFilter(date_end)

($B / ($自 * 86400)) * 100

Así podremos ver y demostrar el SLA que cumplimos por cada máquina que ofrece servicios en nuestra organización, os recuerdo que antes puse un enlace a medir el SLA de los servicios, que depende qué necesitemos sería la otra opción.

Espero como siempre que vaya muy bien, que os cuidéis y os mando un abrazo!

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!