![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introducción
1.1. ¿Para qué sirven los ANS?
En Checkmk puedes evaluar la disponibilidad y, para ello, configurar también una evaluación rudimentaria de los SLA. Ahora bien, la disponibilidad absoluta durante un periodo determinado no es especialmente significativa. Por poner un ejemplo extremo: una disponibilidad del 99,9 por ciento permitiría menos de 10 horas de tiempo de mantenimiento al año; en realidad, sólo 8 horas, 45 minutos y 36 segundos, para ser precisos. Distribuir estas 8,76 horas a lo largo de un año da una media de algo más de 43 minutos al mes, lo que puede ser aceptable para muchos sistemas. Sin embargo, una interrupción de una hora completa de golpe causaría mucho daño. Es obvio que una interrupción así debe reflejarse en la evaluación de la disponibilidad.
Si utilizas una de las ediciones comerciales, Checkmk tiene una función independiente para los service level agreement (SLA), que se basa en los datos de disponibilidad y permite ahora una evaluación mucho más detallada.
Se pueden implementar dos tipos básicos de evaluación:
Porcentaje SLA: Porcentaje en que el estado de un servicio(OK, WARN, CRIT, UNKNOWN) está por encima o por debajo de un valor determinado.
SLA de interrupción: Número máximo de interrupciones, más exactamente, de ocurrencias de los estados CRIT, WARN y UNKNOWN en un periodo de tiempo determinado.
Puedes combinar uno o ambos tipos para varios sites: por ejemplo, para garantizar que durante el periodo de informes un servicio concreto está OK al menos en un 90%, y que se permite un máximo de dos eventos de dos o más minutos para marcar la condición CRIT.
Los resultados de estos cálculos pueden presentarse posteriormente en dos formatos en vistas:
Específicos del servicio: Un servicio mostrará su ANS asociado.
Específico de columna: Se muestra un ANS fijo para cada servicio.
Por ejemplo, aquí puedes ver la evaluación de un sistema de archivos en la vista general: desde hoy (con 3 iconos en la columna más a la derecha) y para los 15 días anteriores - y también ver inmediatamente que hubo problemas evidentes hasta hace 4 días:

Pero, ¿qué te revelan ahora estas evaluaciones? Por un lado, puedes ver el cumplimiento o incumplimiento de los ANS completados y, por ejemplo, informar a tus clientes de estas evaluaciones. Por otro, ya puedes identificar de antemano un fallo inminente: por defecto, el indicador de ANS se iluminará como CRIT cuando se haya superado su valor. Pero también se puede ajustar para que pase a CRIT si, por ejemplo, el estado CRIT permitido para el servicio ha alcanzado el 80 por ciento, y antes de ese punto podría cambiar a una bandera WARN.
En última instancia, los ANS son, en su mayoría, vistas muy detalladas, generadas a partir del análisis de los datos de disponibilidad. Las verás más adelante en dos puntos: en tablas, opcionalmente para todos los host y servicios que figuran en ellas, o sólo para los servicios que están específicamente vinculados a ANS individuales. En segundo lugar, hay una página de detalles exhaustiva para cada combinación de servicio y ANS.
1.2. Funcionalidad
La base de la función de los ANS son los datos de disponibilidad. Los cálculos sobre las especificaciones de los ANS no se aplican, por supuesto, a todo el inventario de datos sin procesar; al fin y al cabo, los informes de los ANS deben abarcar periodos de tiempo concretos. Así que primero se determina para qué periodo deben cumplirse los requisitos de los ANS: el llamado "periodo de los ANS". Por ejemplo: "Durante cada periodo de monitorización mensual, el estado del servicio MiServicio debe ser OK al menos en un 90%" Para este periodo de ANS no se utilizarán necesariamente (inevitablemente) todos los datos del mes durante un funcionamiento 24/7. Los datos pueden convertirse a los periodos de tiempo definidos en la Configuración, es decir, limitarse aproximadamente a las horas de trabajo.
Esto da lugar a un requisito más concreto como: "El servicio MiServicio durante un mes (el periodo de SLA), en horario laboral (el periodo de tiempo) -de lunes a viernes de 10:00 a 20:00- debe estar OK al 90 por ciento (petición de SLA)" Los periodos de SLA y de tiempo se complementan, donde, por supuesto, este último no tiene por qué estar restringido: puedes utilizar todos los datos de monitorización generados durante el periodo de SLA.
En resumen: necesitas dos periodos para restringir la base de datos para el cálculo de un requisito de SLA:
Periodo del ANS: El periodo (por ejemplo, semanal) acordado en el ANS que constituye la base del informe.
Periodo de tiempo: Periodos de tiempo activos especificados en la configuración (por ejemplo, sólo días laborables).
Se genera un resultado independiente para cada periodo de SLA. Cuántos de estos resultados individuales se muestran en una tabla puede configurarse mediante vistas. Así, por ejemplo, las últimas cinco semanas, limitadas a días laborables, se muestran como cinco periodos de SLA individuales directamente en los host y servicios.
Como es habitual en Checkmk, entre la fuente de datos (definición de ANS) y la salida (vista) sigue habiendo una regla que asignar para los servicios específicos de ANS, pero no es imprescindible. Y, por tanto, para los ANS suele resultar un proceso de tres pasos, cuando se aplican a servicios especificados:
Definir el ANS a través de Customize > Business reporting > Service Level Agreements.
Asigna el ANS a host/servicios con la regla Setup > Services > Service monitoring rules > Assign SLA definition to service (opcional).
Crea o adapta vistas para el ANS según sea necesario.
A continuación se muestra cómo configurar un ANS sencillo que incluya una vista: Los sistemas de archivos de los host MyHost1
y MyHost2
durante un periodo de informes de una semana deben estar en condición OK al menos el 90% del tiempo (en este ejemplo se ha alcanzado un máximo del 80%). Además, se les permite asumir la condición WARN durante dos o más minutos en un máximo de cinco ocasiones.
2. Establecimiento de los ANS
2.1. Crear un ANS
En primer lugar, crea el ANS propiamente dicho. La configuración se encuentra en Customize > Business reporting > Service Level Agreements (por cierto, sólo puedes ver este elemento de menú en Modo mostrar más):

Crea un nuevo ANS a través de New SLA. En la sección General Properties, primero dale un ID único, aquí MySLA
, y un título, como Filesystems
:

En SLA settings establece el SLA period en el periodo deseado, como Weekly. Por tanto, los siguientes requisitos siempre serán válidos para este periodo de una semana.
Pero puedes, antes de configurar los requisitos reales, añadir más restricciones en Filtering and computation options, y configurar opciones que, sin embargo, no son necesarias para nuestro sencillo ANS de ejemplo:
Opción | Función |
---|---|
Scheduled Downtimes |
Tener en cuenta los tiempos de mantenimiento programados. |
Status Classification |
Tener en cuenta los tiempos inestables, inestables y fuera de los tiempos de monitorización. |
Service Status Grouping |
Reclasificar los estados. |
Only show objects with outages |
Mostrar sólo los objetos con tasas de fallo dadas. |
Host Status Grouping |
Interpreta el estado UNREACH del host como UNREACH, UP o DOWN. |
Service Time |
Tener en cuenta los tiempos de servicio. |
Notification Period |
Incluir periodos de notificación. |
Short Time Intervals |
Ignorar los intervalos inferiores a una duración determinada, de modo que se ignoren las interrupciones breves (similar al concepto de soft state). |
Phase Merging |
No deben amalgamarse periodos de informes directamente sucesivos del mismo estado. |
Query Time Limit |
Limitar el tiempo de consulta como solución para los sistemas lentos o que no responden. |
Limit processed data |
Limita el número de líneas de datos a procesar; 5000 líneas es lo normal. |
A continuación, especifica los requisitos reales en la sección SLA requirements con Add new timeperiod. Siempre que hayas especificado periodos de tiempo, éstos también pueden utilizarse con los SLA, como ya se ha mencionado para la disponibilidad general. Selecciona un periodo de tiempo en Active in timeperiod, o como aquí en el ejemplo 24X7 - Always
para definir los requisitos de un funcionamiento 24/7. En Title, dale un nombre significativo, por ejemplo 90 percent OK
:

En Computation Type, para la primera petición selecciona Service state percentage y añade un nuevo criterio a través de Add state configuration. Se abre un nuevo apartado para Monitoring state requirement. Para pedir al menos un 90 por ciento de disponibilidad, establece este registro en OK, minimum, 90. Si este valor se queda corto, el ANS se considera roto y asume el estado CRIT, como se verá más adelante en la página de resultados.
Tal vez el ANS no debería esperar a que se rompa y luego pasar a CRIT, sino pasar directamente a WARN en cuanto se consuma el 50 por ciento del búfer, y luego a CRIT si queda un 10 por ciento de búfer. Lo que realmente rompe el ANS produciría entonces broken pero sin más cambios de estado (más sobre esto más adelante en la sección Página de detalles del ANS). Para una configuración de este tipo, check la caja en Levels for SLA monitoring. Aquí puedes introducir valores residuales para la transición a WARN y CRIT. Con esto se completa la primera petición.
Ahora añade una segunda solicitud con Add new timeperiod. De nuevo establece el periodo de tiempo - en Title, por ejemplo, especifica Max 5 warnings of 2 minutes
como nombre y en este caso establece Computation Type en Maximum number of service outages: La solicitud real es entonces: Maximum 5 times WARN with duration 0 days 0 hours 2 mins 0 secs:

De acuerdo con el SLA, por cada periodo de SLA, el servicio puede tener ahora el estado especificado en un máximo de cinco ocasiones, y cada una de ellas durante un máximo de dos minutos, sin que el SLA se marque como roto. En lugar de WARN, también se podría especificar otro estado en este punto. Y de nuevo a través de Levels for SLA monitoring, también puedes refinar y determinar cuántas incidencias restantes activarán una advertencia, antes de que el SLA se rompa realmente con un WARN o CRIT.
Como ya se ha dicho, puedes añadir más de estos requisitos y tejer juntos ANS detallados. Pero sigue sin haber servicios que "reaccionen" a este ANS: en nuestro ejemplo, una regla debe realizar esta conexión. Cómo utilizar la configuración creada hasta este punto sin dicha conexión de servicios ANS se describe más adelante, en las visualizaciones de ANS específicas de cada columna.
2.2. Vincular un ANS a un servicio
El SLA se conecta a un servicio a través del conjunto de reglas Setup > Services > Service monitoring rules > Assign SLA definition to service. Crea una regla, activa la única opción específica de la regla Assign SLA to service, y luego elige tu definición de SLA MySLA
, listada aquí por su título Filesystems
.

A continuación, en Conditions, en la sección Services, define más filtros para los servicios deseados. Como siempre, aquí puedes trabajar con expresiones regulares y, como en este ejemplo, vincular la definición de ANS a todos los sistemas de archivos locales a través de Filesystem
. Opcionalmente, puedes seguir restringiéndolo todo utilizando los filtros específicos de la regla para carpetas, tags del host y hosts explícitos; en nuestro ejemplo son los hosts MyHost1
y MyHost2
:

Por supuesto, en este punto también podrías omitir cualquier filtrado de servicios y simplemente vincular el ANS a todos los servicios. A continuación se explica cómo y por qué es mejor hacerlo con una vista de ANS específica para cada columna.
2.3. Integrar un ANS en vista de tabla
Ya has creado la definición de ANS MySLA
, y la has vinculado a todos los servicios de los dos hosts que empiezan por Filesystem
. Ahora crea una nueva vista para los ANS. Para el ejemplo de los ANS debería bastar con una simple vista de los dos hosts con sus servicios del sistema de archivos y los ANS. Para mayor claridad, se añaden los servicios de Checkmk a los que actualmente no está vinculado ningún ANS. El resultado tendrá el aspecto de la imagen que aparece al final de este capítulo.
Crea una nueva vista con Customize > Visualization > Views > Add view. En la primera consulta especifica All services como Datasource. Confirma en la siguiente consulta si la información de un único objeto debe mostrarse con el valor por defecto No restrictions to specific objects.
En General Properties, introduce un ID (aquí MySLAView_Demo
), un título (como My SLA Demo View
) y, por último, selecciona un tema como Workplace si quieres ver las vistas de SLA más adelante en un item separado del menú Monitorización. Todos los demás valores pueden dejarse sin modificar para esta prueba.
Ahora navega hasta la caja Columns e inicialmente a través de Add column añade las tres columnas generales Services: Service state, Hosts: Hostname y Services: Service description como base de la vista.
El selector de columnas también contiene dos columnas específicas de ANS: Hosts/Services: SLA - Service specific y Hosts/Services: SLA - Column specific. Esta última muestra una definición de ANS fija para cada servicio de la vista, la mejor alternativa a un ANS para todos los servicios, como se ha mencionado anteriormente. Más adelante hablaremos de ello.
Añade en este punto la columna Hosts/Services: SLA - Service specific. Aquí ya están disponibles todo tipo de opciones para la presentación de los resultados de los ANS:

SLA timerange: Utilízalo para establecer el periodo de tiempo para el que quieres ver los resultados de los ANS. Por ejemplo, si tienes el periodo de informes Monthly en tu definición de ANS y aquí Last Year, recibirás doce resultados individuales. En este ejemplo, la opción SLA period range se utiliza para especificar directamente el número de periodos de informes mostrados: Para cinco periodos/resultados establece Starting from period number en 0
, y Looking back en 4
.
Layout options: Por defecto, esta opción está establecida en Only Display SLA Name. Para ver realmente los resultados de los ANS, elige aquí Display SLA statistics. Puedes seleccionar hasta tres elementos diferentes:
Display SLA subresults for each requirement muestra cada ANS afectado con su nombre en una línea separada.
Display a summary for each SLA period muestra un resumen gráfico en la línea Aggregated result.
Display a summary over all SLA periods: Muestra un resumen textual y porcentual de todos los ANS en la línea Summary.
Activa las tres opciones para este ejemplo actual.
Generic plugin display options: En este punto, para la visualización de los ANS de porcentaje/abandono, define si deben aparecer resúmenes (textos) o respectivamente resultados individuales (iconos) para los periodos de informes. Para ver ambos en acción, deja la opción de ANS de porcentaje en Show separate result for each SLA period y selecciona Service outage count display options a Show aggregated info over all SLA periods.
Si quieres agrupar la vista por hosts individuales, en Grouping añade la columna Hosts: Hostname- que asegura una separación visual de los hosts.
Como la vista sólo debe mostrar los hosts MyHost1
y MyHost2
, en el último paso tienes que establecer un filtro en Context / Search Filters para los hosts Hostname: MyHost1|MyHost2
. Para obtener una vista de ejemplo algo más clara, puedes establecer un filtro en Service, por ejemplo filesystem.*|Check_MK.*
. Así obtendrás los servicios del sistema de archivos monitorizados por SLA y, como contrapartida no monitorizada, los servicios Checkmk - de este modo, los resultados de utilizar la visualización de SLA específicos del servicio serán sencillamente más claros.

Esto completa la configuración de la vista. Tras la selección en el menú Monitor como resultado obtendrás una vista con cinco iconos de estado como resultados individuales del SLA porcentual, y un resumen como porcentaje para el SLA de interrupción - por supuesto sólo en las líneas de servicios del sistema de archivos, las líneas de Checkmk permanecen vacías.

3. Otras vistas
3.1. Visualizaciones de ANS específicas de columna
La vista de servicio específico tiene una desventaja: puedes crear varias reglas que asignen el mismo servicio a distintos ANS, pero sólo puedes mostrar el ANS asignado a la primera de esas reglas: no hay forma de mostrar el ANS de una segunda regla de control en una segunda columna.
Sin embargo, puedes mostrar fácilmente varias columnas con distintos ANS fijos especificados. Estas vistas específicas de columna son útiles, por ejemplo, si necesitas varios ANS que deban aplicarse a todos los servicios de algunos o todos los hosts. Así, podría tratarse de definir algo así como ANS de oro, plata y bronce, cada uno en una columna separada junto a los servicios de un host. Entonces, de un vistazo, quedará claro qué definiciones de ANS cumple un servicio/host. En resumen: la vista específica de columna te permite mostrar más de un ANS único para los servicios.
En el ejemplo completado anteriormente, se ejecutaron los tres pasos mencionados al principio: crear un ANS, vincularlo a un servicio e instalarlo en una vista. En el caso de las vistas específicas de columna, puedes omitir el segundo paso. Crea sólo el ANS y organiza una vista con la columna Hosts/Services: SLA - Column specific. Entonces, los resultados del ANS se mostrarán en cada línea independientemente del servicio correspondiente.
La siguiente imagen muestra la vista de SLA anterior para MyHost1
con una columna adicional que muestra los resultados de SLA (un máximo de tres interrupciones de los servicios de Checkmk) para cada servicio:

La diferencia entre las visualizaciones específicas de los servicios y de las columnas es, por tanto, claramente visible. Lo que también debería quedar claro: el SLA diseñado específicamente para los servicios Checkmk sólo tiene, por supuesto, un sentido moderado en las columnas del sistema de archivos. Por tanto, ¡vale la pena planificarlo a fondo antes de empezar una implementación!
Una pequeña nota más : en las opciones de las vistas específicas de servicio, arriba en Generic plugin display options hemos visto los ajustes para los ANS de interrupción y porcentaje. En las opciones de las vistas específicas de columna también puedes ver estos dos -pero sólo si el ANS incluye realmente criterios de interrupción y porcentaje-. Aquí no es apropiado lo genérico, sino lo estático, se invoca una definición fija de ANS. Sólo se verán las opciones que pertenezcan a este ANS.
Hay muchas formas de unir los ANS, los servicios y las vistas -aquí se requiere una buena planificación de lo que se quiere mostrar precisamente a través de los ANS.
3.2. La página de detalles de los ANS
Integrar la información de los ANS en tablas proporciona una visión general rápida, pero por supuesto también puedes considerar los resultados en detalle. En una vista, un clic en la celda con los datos de los ANS te lleva directamente a la página de detalle de los resultados de los ANS para el servicio afectado:

Aquí se pueden encontrar cuatro tipos diferentes de información
datos brutos de la disponibilidad
un resumen de todos los requisitos de un ANS,
resultados individuales de todos los requisitos de un ANS y
la especificación del ANS.
General information: Aquí puedes ver los datos brutos de disponibilidad, y por tanto los cálculos del SLA como una visión general del estado de cada periodo, y debajo los resultados agregados de los requisitos del SLA.
A continuación aparecen tablas para cada requisito de SLA individual. La Timeline muestra cada estado y la fila Result muestra los resultados de cada periodo de informes individual. Una característica especial: si, como se describe en el ejemplo, has establecido niveles de SLA y el SLA llega a CRIT antes de romperse, esto se indicará aquí con una barra naranja y no con la barra roja habitual. Las barras se volverán rojas cuando se rompa el ANS. Una vez que lo tengas, mueve el puntero del ratón a la barra de resultados donde, mediante un tooltip, podrás ver los eventos individuales responsables del estado. En la siguiente imagen, el estado es WARN, porque sólo quedan dos de las tres interrupciones permitidas:

El mensaje SLA broken también aparecería en este tooltip.
Una pequeña nota sobre el uso de la vista: Si mueves el ratón sobre la barra de resultados Aggregated results o Result de un periodo, este periodo se resaltará - para todos los requisitos individuales así como el resumen bajo General information. Con un clic puedes seleccionar/deseleccionar uno o más periodos.
Por último, en SLA specification, aparecen los datos de configuración de tu ANS, que te ayudarán a evaluar y comprender mejor los resultados presentados:

3.3. ANS para Agregaciones BI
En el artículo sobre la disponibilidad ya has leído sobre el uso de la disponibilidad para las agregaciones BI. Los ANS también están disponibles para las agregaciones (el nivel superior), a través de un pequeño desvío: el estado de una agregación BI puede monitorizarse a través del conjunto de reglas Check State of BI Aggregation como un servicio normal. Esto aparece entonces, por ejemplo, como Aggr My Bi Rule Top Level en las vistas y, a su vez, puede asociarse a un ANS a través de la regla Assign SLA definition to service ya utilizada anteriormente. Como resultado, tendrá un aspecto parecido al siguiente:

Encontrarás esta regla en Setup > Services > Other services > Check State of BI Aggregation y una descripción del conjunto de reglas en el artículo BI. La regla también está diseñada para consultar agregaciones BI en servidores Checkmk remotos. Para ello, tendrás que conectar la URL al servidor y especificar un usuario de automatizacióny, por supuesto, la agregación BI deseada: En el campo Aggregation Name, introduce el título de una regla de nivel superior de tu paquete BI, en el siguiente ejemplo la regla con el título My BI Rule Top Level:

Nota: Aquí existe un riesgo de confusión: En la configuración de BI, creas la agregación real, es decir, la lógica, mediante reglas - y en este ejemplo una de las reglas de nivel superior se introduce mediante su título como Aggregation Name.
4. Tratamiento de errores
4.1. Funcionalidad incorrecta o nula
En la práctica, los ANS son una interacción de muchas configuraciones distintas: el propio ANS, las opciones de vista y servicio, los periodos de tiempo, las reglas y, por supuesto, los datos de disponibilidad. Si el ANS muestra resultados distintos de los esperados, basta con repasar la cadena completa. En caso de duda, también ayuda visualizar todo el proceso con lápiz y papel, para ver de un vistazo toda la información implicada. Los siguientes puntos pueden utilizarse como lista de comprobación básica:
Periodicidades: Setup > General > Time periods
Tiempos de mantenimiento programados: Setup > Hosts > Host monitoring rules > Recurring downtimes for hosts y Setup > Services > Service monitoring rules > Recurring downtimes for services (ambas reglas sólo en las ediciones comerciales)
Periodos de servicio: Setup > Hosts > Host monitoring rules > Service period for hosts y Setup > Services > Service monitoring rules > Service period for services
Configuración del servicio: Setup > Services > Service monitoring rules > MyService
Configuración de SLA: Customize > Business reporting > Service Level Agreements
Enlace de servicio SLA: Setup > Services > Service monitoring rules > Assign SLA definition to service
Configuración de vista de tabla: Customize > Visualization > Views
Configuración BI: Setup > Business Intelligence > Business Intelligence > MyBiPack > MyTopLevelRule
Monitorización de BI: Setup > Services > Other services > Check State of BI Aggregation
Después de comprobar las configuraciones, puedes verificar el funcionamiento del SLA mediante cambios de estado manuales (falsos) y tiempos de mantenimiento programados aplicando comandos a los objetos de una vista.
4.2. No se muestra un ANS
En tal caso, abre la configuración de la vista afectada y comprueba primero lo obvio: ¿hay siquiera una columna con un ANS? Sin embargo, una causa más probable son los filtros contradictorios: si has vinculado el ANS a un servicio mediante una regla, es posible que este servicio no esté excluido de las opciones de vista en Context / Search Filters.
Los ANS vinculados a un servicio aún tienen una fuente de error más: como se ha descrito anteriormente, sólo puedes mostrar un ANS vinculado a una regla para cada servicio en una vista: el de la primera regla coincidente. Por último, la vista sólo recibe la instrucción de mostrar en cada línea el ANS asociado al servicio, no el segundo ni el quinto ANS vinculado. Si has creado reglas correspondientes, simplemente se ignorarán. En estos casos, puedes cambiar a la vista específica de la columna.
4.3. No se muestra el cambio de estado de un ANS
En su forma más simple, el estado de un ANS sólo cambia en las vistas de GUI cuando se incumplen sus requisitos. Para ser informado de antemano de un cambio de estado, debes configurar los niveles de ANS.