Checkmk
to checkmk.com
Important

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

bi large icon aggr

Checkmk Business Intelligence: hay que reconocer que suena un poco elevado para lo que es básicamente algo sencillo. Pero este nombre describe bastante bien el núcleo del móduloBI de Checkmk. Se trata de obtener el estado general de las aplicaciones críticas para el negocio a partir de los muchos valores de estado individuales, y presentarlos con claridad.

Tomemos como ejemplo el servicio de correo electrónico, que sigue siendo indispensable para muchas empresas. Este servicio se basa en el correcto funcionamiento de diversos componentes de hardware y software: desde conmutadores específicos, hasta servicios SMTP e IMAP, pasando por servicios de infraestructura como LDAP y DNS.

El fallo de un componente esencial no es un problema si éste ha sido diseñado para ser redundante. Por el contrario, puede producirse un problema en un servicio que a primera vista no tiene nada que ver con el correo electrónico, pero que puede tener efectos mucho más graves. Un simple vistazo a una lista de servicios en Checkmk no siempre tiene sentido, ¡al menos no para todo el mundo!

Checkmk BI te permite obtener un resumen de la salud general de una aplicación a partir del estado actual de host y servicios individuales. Utilizas reglas BI para definir -en una estructura arborescente- cómo son de interdependientes varios elementos. Cada aplicación es entonces globalmente OK, WARN o CRIT. Se puede acceder a la información sobre la condición y las dependencias de varias formas:

  • Visualización del estado global de una aplicación en la GUI.

  • Cálculo de la disponibilidad de una aplicación.

  • Notificaciones en caso de problema, o incluso de fallo de una aplicación.

  • Análisis de impacto: Un servicio está en estado CRIT, ¿qué aplicaciones se ven afectadas?

  • Planificación de los tiempos de mantenimiento y análisis de "qué pasaría si...".

Además, existe la posibilidad de utilizar la representación en árbol en BI para obtener una vista de "profundización" del estado de un host y de todos sus servicios.

Una característica distintiva del BI de Checkmk, a diferencia de otras herramientas comparables en el campo de la monitorización, es que aquí Checkmk también trabaja con una estructura basada en reglas, lo que te permite describir dinámicamente un número indefinido de aplicaciones similares con un conjunto genérico de reglas. Eso facilita enormemente el trabajo y ayuda a evitar errores, sobre todo en entornos muy dinámicos.

business intelligence

2. Configuración Parte 1: La primera agregación

2.1. Terminología

Antes de empezar paso a paso con la aplicación práctica de BI, primero necesitas conocer algunos términos:

Cada aplicación formalizada con BI se denomina Agregación, ya que un estado general se agrega a partir de muchos estados individuales.

Una agregación se construye como un "árbol" de objetos. Estos objetos se llaman nodos. Los nodos inferiores -las hojas del árbol- son los host y los servicios de tus instancias de Checkmk. Los nodos restantes son objetos BI creados artificialmente.

Cada nodo se crea mediante una regla. Esto también se aplica a la raíz del árbol, el nodo superior. Estas reglas determinan qué nodos cuelgan debajo de otro nodo, y cómo a partir de sus estados debe determinarse el estado del nodo superior.

El nodo superior de una agregación -la raíz del árbol- también se genera con una regla. De este modo, una regla puede generar múltiples agregaciones.

2.2. Un ejemplo

La forma más fácil de entender esto es utilizar un ejemplo concreto. Para este artículo hemos ideado la "Aplicación Misteriosa ". Supongamos que se trata de una aplicación importante en una empresa no especificada. Entre otras cosas, desempeñan un papel importante cinco servidores y dos conmutadores de red. Para que puedas entender mejor el ejemplo, utilizamos nombres sencillos como srv-mys-1 o switch-1. El siguiente diagrama ofrece una visión general sencilla de la estructura:

bi example
  • Los dos servidores srv-mys-1 y srv-mys-2 forman un clúster redundante en el que se ejecuta la aplicación real.

  • srv-db es un servidor de base de datos que almacena los datos de la aplicación.

  • switch-1 y switch-2 son dos routers redundantes que conectan la red de servidores a una red superior.

  • En cada uno hay un temporizador srv-ntp que garantiza un tiempo exactamente sincronizado.

  • Además, el servidor srv-spool trabaja aquí y pasa los resultados calculados por la Aplicación Misterio a un directorio spool.

  • Desde el directorio spool los datos son recogidos por un servicio padre misterioso.

Si quieres trabajar uno a uno los pasos siguientes, puedes simplemente replicar los objetos de monitorización como se muestra en nuestro ejemplo. Para hacer una prueba basta con que clones varias veces un host existente y des a los clones el nombre correspondiente. Más adelante habrá que añadir algunos servicios al juego, para lo que entonces tendrás tiempo de registrar los host correspondientes en la monitorización. Incluso ahí puedes volver a hacer trampas: con simplesdummy-local-checks obtendrás rápidamente servicios coincidentes con los que jugar.

Los hosts tendrán entonces este aspecto en la monitorización:

bi 2 example 2

2.3. Tu primera regla BI

Empieza con algo sencillo, con la agregación significativa más simple posible: una agregación con sólo dos nodos. Entonces querrás resumir los estados de los host switch-1 y switch-2. La agregación se llamará Red y debería estar OKsi ambos conmutadores están disponibles. En caso de fallo parcial, debería pasar aWARN, y si ambos conmutadores están apagados, a CRIT.

bi aggregation icon

Empezar: configurar BI a través de Setup > Business Intelligence > Business Intelligence.La configuración de las reglas y agregaciones se realiza dentro de los paquetes de configuración -los Paquetes BI-. Los paquetes no sólo son prácticos porque con ellos puedes gestionar mejor configuraciones más complejas: también puedes aplicar permisos a un paquete y asignar a determinados grupos de contacto -e incluso permitir a usuarios sin derechos de administrador- permisos para editar partes de la configuración. Pero de eso hablaremos más adelante...

La primera vez que llames al módulo BI debería ser algo parecido a esto:

bi 2 default

Ya existe un paquete titulado Default Pack. Contiene una demostración de una agregación que resume los datos de un host individual.

Para este ejemplo es mejor crear un nuevo paquete -con el botón Add BI Pack - al que darás el nombre de Misterio. Como siempre en Checkmk, especifica un ID interno (mystery) que no se pueda cambiar más tarde, y un título descriptivo. La opción Public es necesaria para otros usuarios si hay reglas en este paquete que quieran utilizar para sus propias reglas o agregaciones. Como probablemente quieras hacer tus experimentos solo y en paz, deja esta opción desactivada:

bi 2 create pack

Tras la creación encontrarás, por supuesto, dos paquetes en la lista principal:

bi 2 two rulepacks

Con cada entrada hay un símbolo para editar las propiedades (), y un símbolo para llegar al contenido real del Paquete (), que es donde quieres ir ahora. Una vez allí, crea tu primera regla de inmediato a través de Add rule.

Como siempre en Checkmk, esta regla también debe tener un ID único y un título. El título de la regla no sólo tiene una función de documentación, sino que más adelante también será visible como el nombre del nodo que crea esta regla:

bi 2 create rule 2

La siguiente caja se llama Child Node Generation, y es la más importante. Aquí se especifica qué objetos de este nodo deben resumirse. Puede tratarse de otros nodos BI -para los que elegirías otra regla BI- o de objetos de monitorización, es decir, host o servicios.

Para el primer ejemplo, selecciona la segunda variante (State of a host) y crea dos objetos como hijos: los dos hosts switch-1y switch-2. Esto se hace con el botón Add child node generator. Aquí, naturalmente, elige State of a host, e introduce un nombre para cada host:

bi 2 create rule 3

En la tercera y última caja, Aggregation Function, especifica cómo debe calcularse el estado de monitorización del nodo. La base para ello es siempre la lista de estados de los subnodos. Son posibles diferentes enlaces lógicos.

El preseleccionado es Best — take best of all node states. Eso significaría que el nodo se convierte en CRIT cuando todos los subnodos están CRIT o DOWN. Como ya se ha dicho, esto no debería ser así en este caso. Elige en su lugarCount the number of nodes in state OK para obtener el número de subnodos con estadoOK como criterio. Aquí se sugieren los números 2 y 1 para los umbrales, lo cual es estupendo porque es exactamente lo que necesitas:

  • Si ambos interruptores están ARRIBA (lo que se considera OK), el nodo también debería estar OK.

  • Si sólo uno de los interruptores está ARRIBA, el estado pasa a ser WARN.

  • Y si ambos interruptores están DOWN, el estado pasa a ser CRIT.

Este es el aspecto que tendrá la máscara rellenada:

bi 2 create rule 5

Con un clic en Create tendrás tu primera regla:

bi 2 create rule 6

2.4. Tu primera agregación

Ahora es importante que entiendas que una regla aún no es una agregación. Checkmk aún no puede saber si esto es todo o sólo una parte de un árbol más grande. Los objetos BI reales sólo se crean y se hacen visibles en la interfaz de estado cuando creas una Agregación. Para ello, pasa a la lista de agregaciones.

El botón te lleva a una máscara para crear una nueva agregación. Aquí hay poco que rellenar. En Aggregation groups puedes especificar cualquier nombre de tu elección. Estos nombres aparecen entonces en la interfaz de estado como grupos, bajo los cuales se hacen visibles todas aquellas agregaciones que comparten este nombre de grupo. En realidad, se trata del mismo concepto que con los hashtags o las palabras clave.

Defines el contenido de la agregación a través de Add new element.Selecciona el ajuste Call a rule y en Rule: la regla que acabas de crear (y antes el paquete de reglas en el que se encuentra).

bi 2 new aggregation

Si ahora guardas la agregación con , ¡habrás terminado! Tu primera agregación debería aparecer ahora en la interfaz de estado - ¡suponiendo que de hecho también tengas al menos uno de los host switch-1 o switch-2!

3. BI en funcionamiento Parte 1: La vista de tabla

3.1. Visualizar todas las agregaciones

Si has hecho todo correctamente, ahora podrás ver tu primera agregación en la interfaz de estado. La forma más sencilla de hacerlo es a través de Monitor > Business Intelligence > All Aggregations:

bi 3 status gui 1

Creación de vistas para BI

Además de las vistas de BI ya preparadas, también puedes crear las tuyas propias. Para ello, selecciona una de las fuentes de datos de BI al crear una nueva vista.BI Aggregations proporciona información sobre las Agregaciones,BI Hostname Aggregations añade filtros e información para hosts individuales,BI Aggregations affected by one host muestra sólo las Agregaciones relacionadas con un único host, y BI Aggregations for Hosts by Hostgroups te permite distinguir entre grupos del host.

3.2. Trabajar con el árbol

Echa un vistazo más de cerca a la apariencia del árbol BI. El siguiente ejemplo muestra tu miniagregación en una situación en la que uno de los dos conmutadores estáDOWN y el otro UP. Como es de esperar, la agregación entra en estado WARN:

bi 3 tree minimal

También puedes ver que, para estandarizar hosts y servicios, el host que está DOWN, se trata casi como un servicio que está CRIT. Del mismo modo, UP se convierte en OK.

Las hojas del árbol muestran los estados de hosts y servicios. El nombre del host -y para los servicios también el nombre del servicio- es clicable y te lleva al estado actual del objeto correspondiente. Además, también puedes ver el último resultado del check plugin.

A la izquierda de cada agregación encontrarás dos símbolos y . Con el primer icono - - llegas a una página que muestra sólo esa única agregación. Naturalmente, esto es útil sobre todo si has creado más de una agregación. Por ejemplo, es muy adecuado como marcador. te llevará al cálculo de la disponibilidad. Más adelante hablaremos de ello.

3.3. Probar BI: ¿y si...?

A la izquierda del nombre del host encontrarás un icono interesante: . Esto permite realizar un análisis del tipo "¿y si...? La idea es sencilla: al hacer clic en el icono, el objeto cambiará a otro estado a modo de prueba, aunque sólo para la interfaz de BI, ¡NO de verdad! Si haces varios clics, pasarás de (OK) a(WARN), (CRIT) y(UNKNOWN), y de vuelta a .

BI construye entonces el árbol completo basándose en el estado supuesto. La siguiente figura muestra la agregación mínima bajo el supuesto de que junto aswitch-1 que ha fallado realmente, ese switch-2 también estaría DOWN:

bi 3 assume example 1

El estado global de la agregación pasa así de WARN a CRIT. Al mismo tiempo, el color del estado está respaldado por un patrón check. Este patrón te indica que el estado real es realmente distinto. No siempre es así, porque algunos cambios en un host o servicio ya no son relevantes para la condición general, por ejemplo, si el que está en cuestión ya es CRIT.

Puedes utilizar este análisis "¿y si...?" de varias formas, por ejemplo:

  • Para comprobar si la Agregación BI reacciona como tú quieres.

  • Para planificar el cierre de un componente por mantenimiento.

En este último caso, a modo de prueba, pon el aparato a reparar o sus servicios a . Si entonces toda la agregación sigue OK, debe significar que el fallo se puede compensar actualmente con redundancia.

3.4. Probar el BI utilizando estados falsos

Hay otra forma de probar las Agregaciones BI: cambiando directamente el estado real de un objeto, lo que resulta especialmente práctico en un sistema de pruebas.

Para ello, los comandostienen un comando host/servicio llamado Fake check results. Por defecto, sólo está disponible para el rol de Administrador. Este método se ha utilizado, por ejemplo, para la creación de las capturas de pantalla utilizadas en este artículo, en las que switch-1se ha configurado como DOWN. De aquí procede el texto reveladorManually set to Down by cmkadmin.

bi 3 fake check results
bi 3 master control checks off

He aquí un pequeño consejo útil: Si trabajas con este método, lo mejor es desactivar los checks activos para los host y servicios relevantes, de lo contrario en el siguiente intervalo de check volverán inmediatamente a su estado actual. Si te da pereza, hazlo globalmente a través del elemento de la barra lateral Master Control. Eso sí: ¡nunca olvides volver a activarlo después!

3.5. BI-grupos

Al crear la agregación abordamos brevemente las posibilidades de la entrada Aggregation Groups. En el ejemplo simplemente confirmaste aquí el Main sugerido. Por supuesto, tienes total libertad en la asignación de nombres, y también puedes asignar una agregación a varios grupos.

Los grupos adquieren importancia cuando el número de agregaciones excede posiblemente lo que quieres ver en una pantalla. Accedes a un grupo haciendo clic en uno de los nombres de grupo que aparecen en la página All aggregations -en nuestro ejemplo anterior es simplemente en el encabezamiento Main. Por supuesto, si hasta ahora sólo tienes esta única agregación no cambiará mucho, pero si te fijas bien, te darás cuenta de ello:

  • El título de la página se llama ahora Aggregation group Main.

  • El encabezamiento del grupo Main ha desaparecido.

Si quieres visitar esta vista más a menudo, sólo tienes que marcarla, preferiblemente con el elemento Bookmarks de la barra lateral.

3.6. De host/servicio a agregación

Una vez que hayas configurado la Agregación BI, en el menú contextual de tus host y servicios encontrarás un nuevo icono:

bi 3 service popup

Este icono te lleva a la lista de todas las agregaciones en las que está incluido el host o servicio afectado.

4. Configuración Parte 2: Árboles multinivel

Tras esta primera y breve impresión de la interfaz de estado BI, volvemos a la configuración -porque, claro, no puedes impresionar a nadie con una miniagregación así-.

Empieza ampliando el árbol un nivel, es decir, de dos niveles (raíz y hojas) a tres niveles (raíz, nivel intermedio, hojas). Para ello combina tu nodo existente "Conmutadores 1 y 2" con el estado de sincronización horaria NTP en un nodo superior "Infraestructura".

Pero una cosa cada vez: antes de nada, una vista previa del resultado:

bi 4 rule infra 4

El requisito previo es que haya un host srv-ntp que tenga un servicio llamado NTP Time:

bi 4 service ntp

Primero crea una regla BI que como subnodo 1 reciba la regla "Conmutadores 1 y 2", y como subnodo 2 reciba directamente el servicio NTP Time del host srv-ntp. En la parte superior de la regla, selecciona infrastructure como ID de la regla, y Infrastructure como nombre. No necesitas introducir más información en este punto:

bi 4 rule infra 1

En Child Node Generation la cosa se pone interesante. La primera entrada es ahora del tipo Call a rule, y como regla elige tu regla de las anteriores, de modo que "cuelgues" efectivamente estas reglas en el subárbol.

El segundo subnodo es del tipo State of a service, y aquí elige tu servicio NTP Time (observa aquí la ortografía exacta, incluyendo mayúsculas y minúsculas):

bi 4 rule infra 2

Esta vez fija el Aggregation Function de la tercera caja enWorst - take worst state of all nodes.

En esta función, el estado del nodo se deriva así del peor estado de un servicio situado por debajo de él. En este caso, si NTP Time pasa a CRIT, el nodo también pasa a CRIT.

Por supuesto, para hacer visible el nuevo árbol, más grande, tendrás que crear de nuevo una agregación. Lo mejor es cambiar simplemente la agregación existente para que a partir de ahora se utilice la nueva regla:

bi 4 rule infra 3

De esta forma te quedas con una única agregación, que entonces tiene el aspecto que se muestra a continuación (esta vez ambos conmutadores vuelven a estar encendidos OK):

bi 4 rule infra 4

5. BI en funcionamiento Parte 2: Visualizaciones alternativas

5.1. Introducción

Ahora que tienes un árbol un poco más interesante, puedes acercarte un poco más a las distintas opciones de visualización que ofrece CMK. El punto de partida son las Modify display options, a las que puedes acceder a través del menú Display. Esto abre una caja con varias opciones. El contenido de la caja siempre se ajusta a los elementos mostrados en la página. En el caso de BI actualmente puedes encontrar cuatro opciones:

bi 5 display options screen

Expandir o contraer árboles instantáneamente

Si muestras no sólo una agregación, sino muchas, entonces es útil la opciónExpansión inicial de las agregaciones. Aquí defines hasta dónde deben desplegarse los árboles cuando se muestran por primera vez. La selección va desde cerrados (collapsed) sobre los tres primeros niveles, hasta completamente abiertos (complete).

Mostrar sólo problemas

Si activas la opción Mostrar sólo problemas, sólo se mostrarán en los árboles las ramas que no tengan el estado OK. Entonces tendrá el siguiente aspecto:

bi 5 only problems

Tipos de visualización de los árboles

En el item Tipo de visualización del árbol encontrarás varios tipos de visualización alternativos para el árbol. Uno de ellos se llama Table: top downy tiene este aspecto:

bi 5 top down

La visualización Boxes ahorra mucho espacio, especialmente si quieres ver muchas unidades al mismo tiempo. Aquí cada nodo es una caja de color que se puede ampliar con un clic. La estructura de árbol ya no es visible, pero puedes hacer clic rápidamente para acceder a un problema ocupando el mínimo espacio. Aquí, en el ejemplo, las cajas están completamente desplegadas:

bi 5 boxes

5.2. Más opciones

Por último, puedes establecer un Refresh interval de 30, 60 ó 90 segundos y especificar el número de columnas mediante Entries per row.

5.3. Visualización de las Agregaciones BI

A partir de la versión 1.6.0, además de las representaciones tabulares Checkmk también domina la visualización de las Agregaciones BI. Puedes ver las agregaciones desde una nueva perspectiva, y a veces con mayor claridad. Encontrarás laBI Visualization vía en la vista de agregaciones normal.

bi 5 visualization start

Puedes mover el árbol libremente haciendo clic en el fondo, y escalar toda la visualización utilizando la rueda del ratón. En cuanto el puntero del ratón esté sobre un nodo individual, obtendrás la información de estado asociada al nodo a través de una ventana flotante. Utiliza la rueda del ratón para escalar la longitud de las ramas del árbol.

bi 5 visualization standard

Si haces clic en los nodos de las hojas, accederás directamente a las vistas detalladas del host o del servicio. Un clic con el botón derecho del ratón en los demás nodos -según el tipo de nodo- da acceso a las opciones de visualización y, por ejemplo, a la propia regla responsable -Edit rule en la imagen inferior.

bi 5 visualization context

Personalizar una visualización

La cosa empieza a ponerse realmente interesante con Layout Designer, que se abre con en la parte superior, junto al campo de búsqueda. En primer lugar, verás dos nuevos items - el Layout Configuration, y dos nuevos iconos en la raíz - y .

En una configuración puedes elegir entre distintos tipos de línea y puedes activar el Node icons. Esto mostrará los iconos que puedes especificar en las reglas para las agregaciones BI en la sección Función de agregación (a la que se accede directamente a través del menú contextual del nodo). Con los iconos y se puede ver el árbol y, haciendo clic y arrastrando, girarlo o escalarlo en longitud y anchura. También aparecen otras opciones de visualización en la caja Style configuration. Puedes encontrar las más adecuadas para tus necesidades simplemente probando lo que hay disponible.

bi 5 visualization designer2

Las mayores posibilidades de personalización se encuentran en los menús contextuales de los nodos, que en el modo diseñador ofrecen cuatro visualizaciones diferentes para la jerarquía a partir de este nodo:

  1. Hierarchical style: La configuración estándar con una jerarquía simple.

  2. Radial style: Un formato circular con un sector de círculo personalizable.

  3. Leaf-Nodes Block style: Los nodos hoja se muestran como un grupo con fondo gris.

  4. Free-Floating style: Un diseño dinámico con opciones como la atracción, el espaciado y la longitud de las ramas.

bi 5 visualization styles

Los nodos a los que se ha asignado un estilo pueden colocarse en cualquier lugar. Las opciones disponibles también difieren según el estilo: con Radial style, en el nodo raíz hay un tercer icono que puedes utilizar para limitar la visualización a un sector de un círculo.

Con la opción Detach from parent style puedes separar el estilo de un nodo del estilo de su nodo padre superior, para luego configurar estos subnodos de forma diferente y colocarlos libremente.Include parent rotation también tiene una intención similar para permitirte incluir o excluir nodos padres al girar.

Estas opciones de estilo son básicamente todas autoexplicativas - sólo la Free-Floating stylenecesita alguna explicación. Se trata de un sistema de atracción y repulsión como el que conoces de las simulaciones gravitatorias.

Center force strength

Centro de gravedad de los nodos.

Repulsion force leaf

Fuerza del efecto de repulsión de las hojas sobre otros nodos.

Repulsion force branches

Fuerza de la repulsión de los nodos sobre otros de la misma rama.

Link distance leaf

Distancia ideal del nodo hoja al nodo anterior.

Link distance branches

Distancia ideal del nodo rama al nodo anterior.

Link strength

Fuerza con la que se cumple la distancia ideal.

Collision box leaf

Tamaño del área del nodo hoja que repele a otros nodos.

Collision box branch/leaf

Tamaño del área del nodo rama que repele a otros nodos.

La siguiente imagen muestra una rama en el Free-Floating style- las posiciones de las hojas individuales resultan dinámicamente en función de las opciones especificadas.

bi 5 visualization float

Especificar estilos de diseño para reglas BI

Para las reglas BI -a las que puedes acceder desde el menú contextual de los nodos-, en el menú Rule Properties puedes asignar las disposiciones Hierarchical, Radialo Leaf-Nodes Block, y establecer asimismo las opciones pertinentes.

bi 5 visualization rule

La función de búsqueda

La función de búsqueda es de enorme ayuda con los árboles más grandes. En el campo de búsqueda de Search node puedes introducir simplemente una parte del nombre del nodo deseado y obtener una lista de aciertos directamente y en directo. Si ahora pasas el ratón por encima de esta lista de sugerencias, el nodo del árbol que esté bajo el puntero del ratón se resaltará con un borde azul, lo que facilita una primera orientación. Si haces clic en un nodo de la lista, el árbol se centrará allí. De este modo, incluso en visualizaciones con cientos de nodos podrás encontrar rápidamente la sección adecuada en la infraestructura.

bi 5 visualization search

6. Configuración Parte 3: Variables, Plantillas, Búsquedas

6.1. Configuración con más inteligencia

Continúa con la configuración. Ha llegado el momento de ponerse manos a la obra. Hasta ahora, el ejemplo ha sido tan sencillo que ha sido posible enumerar individualmente todos los objetos de la agregación sin dificultad. Pero, ¿y si las cosas se vuelven más complejas? ¿Y si quieres formular muchas dependencias recurrentes iguales o similares? ¿Y si una aplicación no incluye una única instancia, sino varias? ¿Y si quieres agrupar cientos de servicios individuales de una base de datos en un nodo BI?

Pues bien, para este tipo de requisitos necesitas métodos de configuración más potentes. Y esto es exactamente lo que distingue a Checkmk BI de otras herramientas, y por desgracia aquí la curva de aprendizaje es un poco más pronunciada. También es la razón por la que Checkmk BI no se deja configurar mediante "arrastrar y soltar". Sin embargo, una vez que conozcas sus posibilidades, seguro que no querrás pasar sin ellas.

6.2. Parámetros

Empecemos por los parámetros. Tomemos la siguiente situación: no sólo quieres saber si los dos conmutadores están UP, sino también conocer el estado de los dos puertos responsables del enlace ascendente. En términos generales, se trata de los cuatro servicios siguientes:

bi 6 switch service

Ahora el nodo Switch 1 & 2 debe ampliarse para sustituir los dos estados host de los conmutadores 1 y 2, de modo que cada uno tenga un subnodo que muestre el estado host y las dos interfaces de enlace ascendente. Estos dos subnodos deben ser Switch 1 o Switch 2.

En realidad, ahora necesitas dos reglas nuevas, una para cada conmutador. Para ello, lo mejor es crear una nueva regla <conmutador> y dotarla de un parámetro. Este parámetro es una variable a la que llamas cuando invocas la regla desde el nodo padre -que aquí puede proporcionarte la antigua regla Switch 1 & 2. En este ejemplo puedes pasar simplemente un 1 o un 2. El parámetro recibe un nombre que puedes elegir libremente. Toma aquí por ejemplo el nombre NUMBER. La ortografía con mayúsculas es puramente arbitraria, y si te parecen más bonitas las minúsculas también eres libre de utilizarlas.

Y el encabezamiento de la regla tendrá este aspecto:

bi 6 rule with parameter

Puedes elegir switch como ID de la nueva regla. En parametersimplemente introduce el nombre de la variable: NUMBER. Ahora también es importante que la variable se utilice en la regla Rule Titlepara que los dos nodos no se llamen simplemente switch y tengan el mismo nombre. Al utilizar la variable se establece un signo de dólar inicial y final, como es habitual en muchos lugares de Checkmk. Como resultado, los dos nodos se llamarán Switch 1 ySwitch 2.

La concordancia de prefijo es la predeterminada para el nombre del servicio

Para el Child node generator, lo primero que hay que hacer es insertar el estado del host. En lugar del 1 o 2 en el nombre del host puedes utilizar simplemente tu variable, de nuevo cada una con un $ inicial y final.

Lo mismo ocurre con los nombres del host de las interfaces de enlace ascendente. Y aquí viene el segundo truco: ¡porque, como podrías pensar por la pequeña lista de servicios que has visto antes, los servicios del enlace ascendente tienen nombres distintos en cada conmutador! Pero eso no es problema, porque BI siempre interpreta el nombre del servicio como una concordancia de prefijo utilizando expresiones regulares, de forma totalmente análoga al conocido servicio de reglas. Así que, simplemente escribiendo Interface Uplink, atrapas todos los servicios del host correspondiente que empiecenpor Interface Uplink:

bi 6 rule with parameter 2

Por cierto: Añadiendo $ puedes desactivar el comportamiento del prefijo. En expresiones regulares, $ significa "El texto debe terminar aquí". Así que Interface 1$ sólo coincide con Interface 1 y no, por ejemplo, ¡con Interface 10!

Ahora modifica la antigua regla Switch 1 & 2 para que, en lugar de los estados host, esta nueva regla sólo se invoque una vez para cada uno de los dos conmutadores. Y aquí es donde también se proporcionan los valores 1 y 2 como parámetros para la variable NUMBER:

bi 6 rule with parameter 3

Y listo, ya tienes un bonito árbol con tres niveles:

bi 6 rule with parameter 4

6.3. Expresiones regulares, objetos que faltan

El tema de las expresiones regulares merece de nuevo un análisis más detallado. Al hacer coincidir el nombre del servicio, al principio hemos subrayado tácitamente que, en el fondo, sólo se trata de expresiones regulares. Como acabamos de mencionar, existe una concordancia de prefijo.

Así, en un nodo BI, si, por ejemplo, en nombre del servicio especificas disk, se capturarán todos los servicios del host en cuestión que empiecen por Disk.

En general, se aplican los siguientes principios:

  1. Si un nodo se refiere a objetos que (actualmente) no existen, simplemente se omiten.

  2. Si un nodo se vacía, se omitirá.

  3. Si el nodo raíz de una agregación también está vacío, se omitirá la propia agregación.

¡Quizá te parezca un poco atrevido! ¿No es peligroso omitir silenciosamente cosas que deberían estar ahí si faltan?

Bueno, con el tiempo te darás cuenta de lo práctico que es este concepto, porque te permitirá escribir reglas "inteligentes" que pueden reaccionar ante situaciones muy diferentes. ¿Hay algún servicio que no existe en todas las instancias de una aplicación? No hay problema: ¡sólo se tiene en cuenta si está ahí! ¿O se pueden eliminar temporalmente host o servicios de la monitorización? Entonces simplemente desaparecen de BI sin que se produzcan errores ni nada parecido ¡BI no está ahí para ver si tu configuración de monitorización está completa!

Por cierto, este principio también se aplica a los servicios definidos explícitamente, ya que en realidad no existen, porque los nombres del servicio siempre se ven como expresiones regulares, aunque no contengan caracteres especiales como .*. Siempre es automáticamente un patrón de búsqueda.

Pero aún puedes automatizar más y, sobre todo, reaccionar con flexibilidad a los cambios. Continúa con el ejemplo de los dos servidores de aplicacionessrv-mys-1 y srv-mys-2 del ejemplo. Tu árbol debería seguir creciendo. El nodo Infrastructure debería deslizarse al nivel 2. Y como raíz definitiva, debería haber una regla con el título The Mystery Application bajo la cual se colgará todo. Junto a Infrastructure debería haber un nodo con el nombre Mystery Servers. Bajo éste se supone que se colgarán los (actualmente) dos servidores misteriosos. En cada uno de ellos, unos cuantos servicios genéricos entran en la agregación. El resultado debería ser el siguiente:

bi 6 mystery tree

Regla inferior: Servidor misterioso X

Empieza por abajo, porque siempre es lo más fácil en BI. A continuación tienes la nueva regla Mystery Server X. Por supuesto, tienes un único parámetro, por lo que no necesitas una regla distinta para cada servidor. Puedes volver a nombrar el parámetro NUMBER, por ejemplo. Después debería tener el valor 1 o 2. Como ya se ha hecho anteriormente, tendrás que volver a introducir NUMBERen la cabecera, en Parameters.

El generador de nodos hijo resultante tiene este aspecto:

bi 6 mystery server rule

Lo que sigue es notable:

  • El nombre del host srv-mys-$NUMBER$ utilizará el número del parámetro.

  • Con Service: se utiliza la sofisticada expresión regular CPU|Memory que utiliza una barra vertical para permitir nombres alternativos del servicio (prefijos), y esto coincide con todos los servicios que empiezan por CPU o Memory. ¡Esto ahorra duplicar la configuración!

Por cierto, este ejemplo no es necesariamente perfecto. Por ejemplo, no se ha registrado en absoluto el estado del host en sí. Así, si uno de los servidores DOWN, los servicios de éste quedarán obsoletos (irán a stale), pero el estado seguirá siendo OK, y la agregación no "notará" ese fallo. Si quieres saber algo así, además de los servicios deberías registrar también, en cualquier caso, el estado del host.

Regla intermedia: Servidores misteriosos

Esta regla es interesante. Resume los dos servidores misteriosos juntos en un nodo. Ahora bien, debe ser posible que el número de servidores no sea fijo, y más adelante a veces puede haber tres o más, o puede ser que haya docenas de instancias de la aplicación misteriosa, ¡cada una con un número distinto de servidores!

El truco está en el generador de nodos hijo de tipo Create nodes based on a host search. Éste busca los host existentes y crea nodos basándose en los host encontrados. Tiene el siguiente aspecto:

bi 6 mystery server rule2

Todo funciona así:

  1. Formulas una condición de búsqueda para encontrar hosts.

  2. Se crea un nodo hijo por cada host encontrado.

  3. Puedes recortar partes de los nombres del host encontrado y proporcionarlas como parámetros.

Encontrar es el principio. Como es habitual, hay etiquetas del host disponibles. En el ejemplo puedes omitir esto y utilizar en su lugar la expresión regular srv-mys-(.*) para el nombre del host. Esto coincide con todos los nombres del host que empiecen por srv-mys-. .* es cualquier cadena.

Es importante que el .* esté entre corchetes, por lo tanto (.*). Utilizando los paréntesis, la coincidencia forma un llamado grupo. Con él se captura (y almacena) el texto que coincide exactamente con .* - aquí 1 o 2. Los grupos de concordancia se numeran internamente. Aquí sólo hay uno que recibe el número 1. Posteriormente podrás acceder al texto coincidente con $1$.

La búsqueda encontrará ahora dos host:

Nombre del host Valor para $1$

srv-mys-1

1

srv-mys-2

2

Para cada host encontrado crearás ahora un subnodo con la función Call a rule. Selecciona la regla Mystery Server $NUMBER$ que acabas de crear. Como argumento para NUMBER pasa ahora el grupo de concordancia: $1$.

Ahora la subregla Mystery Server $NUMBER$ se llama dos veces: una con 1 y otra con 2.

Si en el futuro se añade a la monitorización un nuevo servidor con el nombre srv-mys-3, ¡aparecerá automáticamente en la Agregación BI! El estado del host no importa. Aunque el servidor esté DOWN, ¡por supuesto no se eliminará de la agregación!

De acuerdo, aquí hay una curva de aprendizaje muy pronunciada. Este método es realmente complejo. Pero una vez que lo hayas probado y comprendido, te darás cuenta de lo poderoso que es todo el concepto, ¡y hasta ahora sólo hemos arañado la superficie de las posibilidades!

La regla de nivel superior

El nuevo nodo de nivel superior The Mystery Application es ahora sencillo: se necesita además una nueva regla que tenga dos nodos hijos del tipo Call a rule. Estas dos reglas son la regla existente Infrastructure, y la regla recién creada Mystery Servers.

De forma similar a la búsqueda de host, también existe un tipo de generador de hijos llamadoCreate nodes based on a service search. Aquí tienes un ejemplo:

bi 6 service search

Aquí puedes utilizar () -poniendo entre paréntesis expresiones parciales- tanto en el host como en el servicio, donde:

  • Si eliges Regex for host name debes definir exactamente una expresión entre paréntesis. El texto de coincidencia se proporciona entonces como $1$.

  • Si eliges All hosts, el nombre del host completo se proporcionará como $1$.

  • Puedes utilizar varios subgrupos en el nombre del servicio. Los textos de coincidencia asociados se proporcionan como $2$, $3$ y así sucesivamente.

Y nunca olvides que siempre puedes utilizar para obtener ayuda en línea.

6.6. Todos los demás servicios

Es posible que en tus intentos hayas tropezado con el generador de hijosState of remaining services. Esto genera un nodo para cualquiera de los servicios de tu host que aún no hayan sido ordenados en tu Agregación BI. Esto es útil si utilizas BI para combinar los estados de todos los servicios de un host en grupos claramente ordenados, como se hace en el ejemplo incluido.

7. La agregación predefinida de host

Como acabamos de mencionar, también puedes utilizar BI para proporcionar los servicios de un host de forma estructurada. Combinas todos los servicios en un árbol en una agregación, y utilizas básicamente la función worst. Entonces, el estado general de un host sólo se mostrará si hay algún problema con el host: utilizas BI como un método claro de "profundizar".

Para ello, Checkmk ya proporciona un conjunto predefinido de reglas que sólo tienes que desbloquear. Estas reglas están optimizadas para la prestación de servicios en hosts Windows o Linux, pero, por supuesto, puedes personalizarlas a tu gusto. Puedes encontrar todas las reglas en el paquete de reglas Default. Como de costumbre, accede a las reglas haciendo clic en :

bi 7 wato start

Allí encontrarás una lista de doce reglas (abreviadas aquí):

bi 7 host tree rules

La primera regla es la regla para la raíz del árbol. El símbolo de esta regla te lleva a una vista de tabla. Aquí puedes ver cómo se anidan las reglas entre sí:

bi 7 host tree tree

De vuelta a la lista de reglas, con el botón Aggregations puedes acceder a la lista de agregaciones de este paquete de reglas, que consta de una sola Agregación. En los Detalles, simplemente desmarca el checkbox en Currently disable this aggregation y obtendrás inmediatamente, por host, una agregación titulada Host myhost123. El resultado tendrá entonces este aspecto, por ejemplo:

bi 7 host aggregation

8. Permisos y visibilidad

8.1. Permisos de edición

De nuevo, volvamos a los paquetes de reglas. Para todas las acciones de edición en BI normalmente necesitas tener el rol Administrator. Más concretamente, para BI hay dos permisos, que encontrarás en Setup > Users > Roles & permissions:

bi 8 wato permissions

Por defecto, el rol User es sólo el primero de los dos permisos activos. Los usuarios normales sólo pueden trabajar en aquellos paquetes de reglas para los que se hayan definido como contacto, lo que se hace en los Detalles del paquete de reglas.

En el siguiente ejemplo Permitted Contact Groups se ha autorizado al grupo de contacto The Mystery Admins, por lo que todos los miembros de este grupo pueden ahora editar las reglas de este paquete:

bi 8 pack properties

Por cierto, con Public > Allow all users to refer to rules contained in this packpuedes permitir que otros usuarios utilicen al menos las reglas contenidas aquí - es decir, que definan (en otro lugar) sus propias reglas - que luego pueden invocar estas reglas como subnodos.

8.2. Permisos en host y servicios

¿Cómo es la visibilidad real de las agregaciones en la interfaz de estado? ¿Qué contactos pueden ver algo?

Bueno, no puedes asignar ningún derecho en las propias Agregaciones BI. Esto se realiza indirectamente a través de la visibilidad de los host y servicios, y se rige por la opción See all hosts and services enSetup > Roles & Permissions:

bi 8 see all

En el rol User, este derecho está desactivado por defecto. Los usuarios normales sólo pueden ver los host y servicios compartidos, y en BI éstos se expresan de tal forma que pueden ver exactamente todas las agregaciones BI que contengan al menos un host o servicio compartido. Sin embargo, estas agregaciones sólo contienen estos objetos autorizados, por lo que pueden estar algo "adelgazadas", ¡y esto a su vez significa que pueden tener diferentes estados para diferentes usuarios!

En caso de duda, puedes alternar el permiso y, mediante un desvío a través de BI, permitir que algunos o todos los usuarios vean host y servicios de los que no son contactos, garantizando así que el estado de una agregación sea siempre el mismo para todos.

Por supuesto, todo este asunto sólo importa si, de hecho, hay agregaciones tan variopintas que sólo algunos usuarios son contactos para partes de ella.

9. BI en funcionamiento Parte 3: Tiempos de mantenimiento, Reconocimientos

9.1. La idea general

¿Cómo gestiona realmente BI los tiempos de mantenimiento? Bueno, hemos reflexionado mucho sobre el asunto y lo hemos discutido con muchos usuarios: el resultado es el siguiente:

  • No puedes poner una unidad BI directamente en un tiempo de mantenimiento, pero no tienes por qué hacerlo, porque ...

  • El tiempo de mantenimiento de una Agregación BI se deriva automáticamente de los tiempos de mantenimiento de sus host y servicios.

Para entender qué regla BI calcula el estado "en mantenimiento", ayuda que te recuerden cuál es la idea real detrás de los tiempos de mantenimiento:se está trabajando en el objeto en cuestión. Cabe esperar fallos. Aunque el objeto esté OK, no debes confiar en él. Puede convertirse en CRIT en cualquier momento. Esto se sabe y está documentado, por lo que no debería activar una notificación.

Esta idea puede trasladarse 1:1 a BI: En la agregación puede haber algunos host y servicios que estén actualmente en mantenimiento. El hecho de que estén OK o CRIT no influye, porque en realidad es una coincidencia que durante las tareas de mantenimiento los objetos se apaguen y vuelvan a encenderse o no. Que haya un objeto de mantenimiento en la unidad no significa inmediatamente que la aplicación que mapea la agregación esté a su vez "amenazada" y deba marcarse también como "en mantenimiento". También puede tener instalada una redundancia que compense el fallo de los objetos en mantenimiento. Sólo si un fallo de este tipo condujera realmente a un estado CRIT para la agregación -por lo que no hay suficiente redundancia y la agregación está realmente amenazada-, sólo entonces Checkmk la marcará como "en mantenimiento". En este caso tampoco suele importar el estado actual de los objetos.

Para decirlo más concisamente, la regla exacta es la siguiente:

Si un estado CRIT de un host/servicio diera lugar a un estado CRIT de la agregación, un estado "en mantenimiento" de ese host/servicio da lugar a un estado "en mantenimiento" de la agregación.

Importante: el estado actual real de los host/servicios no interviene en el cálculo: lo que está en mantenimiento se considera CRIT en la lógica de BI. ¿Por qué? Porque un estado UP u OK durante un periodo de mantenimiento es pura coincidencia, por ejemplo si un host informa UP durante unos segundos entre varios reinicios.

Y aquí tenemos otro ejemplo. Para ahorrar espacio, se trata de una variante con un solo servidor misterioso en lugar de dos:

bi 9 downtimes

En primer lugar, el host switch-1 está en mantenimiento. Para el nodo Infrastructure esto no tiene ningún efecto, porque switch-2no está en mantenimiento, y por tanto Infrastructure tampoco está en mantenimiento. Por lo tanto, no hay icono de tiempos de mantenimiento derivados.

Sin embargo, el servicio Memory de srv-mys-1 también está en mantenimiento. Éste no es redundante. Por tanto, el mantenimiento lo hereda el nodo padre Mystery Server 1, luego continúa hasta Mystery Serversy finalmente hasta el nodo superior The Mystery Application. Así que este nodo superior también está en mantenimiento.

9.2. El comando Tiempo de mantenimiento

Antes hemos escrito que no se puede poner manualmente una Agregación BI en tiempo de mantenimiento... Eso es cierto sólo a medias, ya que, de hecho, ¡puedes encontrar un comando para establecer tiempos de mantenimiento en las Agregaciones BI! Pero esto no hace más que registrar una entrada de mantenimiento para cada host y servicio de la Agregación! Esto, por supuesto, suele llevar a que la propia Agregación se marque como en mantenimiento. Pero eso es sólo indirecto.

9.3. Opciones de ajuste

Arriba has visto que el cálculo del tiempo de mantenimiento se basa en un estado CRIT supuesto. En las propiedades de una agregación puedes personalizar el algoritmo para que un nodo que asuma el estado WARN se marque como en mantenimiento. La opción para ello se llama Escalate downtimes based on aggregated WARN state:

bi 9 downtimes on warn

La suposición básica sigue siendo que los objetos en mantenimiento son CRIT. Sólo hay una diferencia en que, debido a la función de agregación, un CRIT puede convertirse en un WARN, como ocurrió en nuestro primer ejemplo con Count the number of nodes in state OK. Aquí ya se habría aceptado un tiempo de mantenimiento si sólo uno de los dos interruptores estuviera en mantenimiento.

9.4. Reconocimientos

De forma bastante similar al proceso con los tiempos de mantenimiento, si se ha reconocido un problema la información también es calculada automáticamente por BI. Esta vez el estado de los objetos desempeña ciertamente un papel.

La idea aquí es trasladar el siguiente concepto a BI: Un objeto tiene un problema(WARN, CRIT), pero esto se sabe, y alguien está trabajando en ello ().

Puedes calcular esto para una agregación de la siguiente manera:

  • Supongamos que todos los host y servicios que han reconocido problemas vuelven a estar OK.

  • Entonces, ¿la propia unidad volvería a estar OK? Exacto, entonces también se reconoce como .

Sin embargo, si la agregación siguiera siendo WARN o CRIT, entonces no se consideraría reconocida, porque entonces debe haber al menos un problema importante que no se ha reconocido, y por tanto se eliminará el estado OK de la unidad.

Por cierto, el te ofrecerá un comando para que la Agregación BI reconozca sus problemas, pero esto sólo significa que se reconocerán todos los host y servicios detectados en la agregación (sólo los que tengan problemas en ese momento).

10. Hacer visibles los cambios

Los nodos de una agregación pueden cambiar a veces durante el funcionamiento. Utilizando agregaciones congeladas puedes hacer visibles esos cambios.

He aquí un ejemplo: Un switch con 6 puertos debería estar OK cuando 5 de sus servicios/puertos están OK. Sin embargo, como parte de una actualización de firmware, 2 de los puertos cambian de nombre y sus servicios asociados desaparecen de la monitorización.

La agregación constaría entonces de 4 servicios con estado OK, pero la agregación en sí estaría WARN o CRIT-sin proporcionar ninguna indicación del motivo. Aquí es exactamente donde entran en juego las agregaciones congeladas: congelas el estado actual, y más tarde puedes hacer clic para listar lo que ha cambiado desde entonces, es decir, qué nodos se han añadido o abandonado. En otras palabras, mientras que las reglas de una agregación indican su estado, las agregaciones congeladas informan de los cambios de estado.

10.1. Congelar y comparar

Utilizar la función de congelación es muy sencillo: activa la opción New aggregations are frozen en Aggregation Properties.

Option to freeze an aggregation.

Esto congelará la agregación cuando se guarde -y lo hará siempre que la marca de verificación se ponga de nuevo; incluso si la agregación ha existido previamente (a pesar de la referencia a New aggregations …​). Para descongelar el estado congelado, quita la marca de verificación correspondiente.

En la monitorización, ahora verás un nuevo icono de copo de nieve junto a la agregación, que te llevará a la vista que muestra las diferencias: a la izquierda el árbol congelado, a la derecha el árbol actual con los cambios resaltados (aquí la eliminación del servicio backup3):

Differences between the frozen and the current states of an aggregation.
Sin la opción de estado congelado la eliminación de backup3 pasaría desapercibida

Si quieres congelar de nuevo el estado actual, puedes hacerlo a través de Commands > Freeze aggregations. Pero ten cuidado: Siempre hay un único estado actual congelado y ningún historial que incluya estados anteriores.

11. Disponibilidad

Exactamente igual que con los hosts y los servicios, también puedes acceder a la disponibilidadBI de una o varias agregaciones para cualquier periodo de tiempo pasado. Para ello, el módulo BI reconstruye el estado basándose en el historial de hosts y servicios de la agregación para cada periodo de tiempo pasado. Así, ¡también puedes calcular la disponibilidad para esos periodos en los que la unidad aún no estaba configurada!

bi 10 availability example

Para más detalles sobre BI y disponibilidad, consulta el artículo sobre disponibilidad en la sección sobre BI.

12. BI en monitorización distribuida

¿Qué ocurre realmente en el BI en un entorno de monitorización distribuida? Es decir, cuando los host están repartidos entre varios servidores de monitorización.

La respuesta es relativamente sencilla: funciona, sin que tengas que prestar atención a nada. Como BI es un componente de la GUI, y ésta se suministra de serie con capacidad de soporte de entornos distribuidos, es completamente transparente para BI.

Si un site no está disponible o lo ocultas manualmente de la GUI, el site host deja de existir para BI, lo que significa:

  • Las Agregaciones BI que se construyen exclusivamente a partir de objetos de esta ubicación desaparecen.

  • Las Agregaciones BI que se construyen parcialmente a partir de objetos de esta ubicación desaparecen.

En este último caso, por supuesto, esto puede afectar al estado de las agregaciones afectadas. Los efectos exactos que puede tener dependen de las funciones de tu agregación. Si, por ejemplo, has utilizado worst en todas partes, el estado general simplemente permanece igual o mejora, porque los objetos de la ubicación que ya no existe podrían haber tenido WARN o CRIT. Por supuesto, también pueden surgir otros estados para otras funciones de agregación.

En cualquier caso, BI está construido de modo que los objetos inexistentes no puedan incluirse en una agregación y, por tanto, no puedan perderse, porque todas las reglas BI funcionan -como ya se ha explicado antes- exclusivamente con patrones de búsqueda.

13. Notificaciones, BI como servicio

13.1. Chequeos activos o programas de fuentes de datos

bi large icon notifications

¿Puedes notificar realmente los cambios de estado en las agregaciones BI? Bueno, en principio no es directamente posible, ya que BI existe exclusivamente en la GUI y no tiene ninguna relación con la monitorización real. Pero puedes convertir las Agregaciones BI en servicios normales, y éstos a su vez, por supuesto, pueden activar notificaciones. Hay dos posibilidades:

  • Utilizando el programa de fuente de datos Check state of BI Aggregations

  • Con checks activos del tipo Check State of BI Aggregation

13.2. Notificaciones mediante un programa fuente de datos

Empezaremos con el método del programa fuente de datos, porque siempre es bueno si deseas generar más de un puñado de agregaciones como servicios. Encontrarás el conjunto de reglas adecuado en Setup > Agents > Other integrations > BI Aggregations:

bi 12 datasource program

Aquí puedes incluso especificar diferentes opciones para qué host deben añadirse los servicios. No tienes que ceñirte necesariamente al host que ejecuta el programa fuente de datos (Assign to the querying host). También es posible asignar a los host que se ven afectados por la agregación (Assign to the affected hosts). Sin embargo, esto sólo tiene sentido si afecta a un único host. Las expresiones regulares y las sustituciones pueden hacerte aún más flexible con las asignaciones. Todo se realiza entonces mediante el mecanismo piggyback.

Importante: Si el host al que asignas esta regla debe seguir siendo monitorizado a través del agente normal, asegúrate en su configuración de que se ejecutan los programas Agente y Fuente de datos:

bi 12 agent and all ds program

13.3. Notificaciones mediante un check activo

La notificación mediante un check activo es más o menos la forma más directa, y no requiere ningún "host helper" artificial al ejecutar el programa fuente de datos, ya que tiene que consultar cada unidad individualmente, pero con un número mayor de agregaciones es bastante menos eficiente y también más complicado de configurar.

Simplificando: Hay un check activo que puede recuperar el estado de las agregaciones BI mediante HTTP desde la API-REST de Checkmk. Puedes configurarlo fácilmente con el conjunto de reglasSetup > Services > Other services > Check State of BI Aggregation:

bi 12 active check rule

Ten en cuenta lo siguiente:

  • Habilita esta regla sólo para el host que debe recibir el nuevo servicio BI correspondiente.

  • La URL debe ser la que permita a este host acceder a la GUI de Checkmk.

  • El usuario debe ser un usuario de automatización: sólo estos usuarios pueden llamar a la API-REST. El usuario automation se ofrece aquí, ya que siempre se crea automáticamente para tales fines.

  • En Automation Secret introduce el usuario Automation secret for machine accounts, que encontrarás en la máscara de configuración de las propiedades del usuario (sólo si utilizas otro usuario de automatización distinto de automation).

En el ejemplo se activa Automatically track downtimes of aggregation. Estrictamente hablando, esto significa los tiempos de mantenimiento programados. Esto hará que el nuevo servicio activo obtenga automáticamente un tiempo de mantenimiento, ¡aunque la Agregación BI también lo haga!

El nuevo servicio muestra entonces -con un retraso de hasta un intervalo de comprobación, por supuesto- el estado de la unidad. El ejemplo muestra el BI-Check en el host srv-mys-1:

bi 12 active check output

Como de costumbre, puedes asignar este servicio a contactos y utilizarlo como base para una notificación.

En esta página