Tags de eventos

Vista General

Los tags (etiquetas) son definidos en el trigger que genera el evento. Luego de definidos esos tags, todos los nuevos eventos que genere van a ser marcados con esos tags

Al personalizar las etiquetas se gana en flexibilidad y los eventos generados pueden ser correlacionados basándose en los tags y sus valores. Se les pueden dar otros usos, como las acciones basadas en los tags

Los tags de los eventos son pares de nombre del tag y valor. Se puede usar el nombre o junto con su valor.

MySQL, Service:MySQL, Services, Services:Customer, Applications, Application:Java, Priority:High 

Casos de uso

Algunos ejemplos para esta funcionalidad son:

  1. Identificar problemas en un archivo de log y cerrarlos individualmente
   * Defina los //tags// en el trigger utilizando la funcion {{ITEM.VALUE<N>}.regsub()} para establecer su valor.
          * En la configuración del trigger, seleccione la opción para que genere múltiples eventos.
          * En la configuración del trigger use la [[es:manual/config/event_correlation|correlación de eventos]]: para esto seleccione, en la opción //OK event closes//, la opción //All problems if tag values match// y seleccione el //tag// que debe coincidir.
          * Vea los problemas creados con determinado //tag// y como se cierran individualmente.
       - Úselo como filtro
          * Defina //tags// a nivel del trigger para etiquetar los eventos
          * Use el filtro por //tag// en las condiciones de la acción para recibir notificaciones solo cuando los evento conicidan con los datos del //tag//
       - Vea la información del //tag// en el //frontend//
          * Defina //tags// a nivel del trigger para etiquetar los eventos
          * vea esta información en //Monitoring// → //Problems//.
       - Use información extraída del valor del ítem para el valor del //tag//
          * Utilice la función de macro {{ITEM.VALUE<N>}.regsub()} para establecer el valor del //tag//
          * Vea los valores de los tags en //Monitoring// → //Problems// 
       - Identifique mejor los problemas en las notificaciones.
          * Defina //tags// a nivel del trigger para etiquetar los eventos
          * Utilice la macro {EVENT.TAGS} en la notificación de los problemas
          * Identifique más fácilmente que aplicación o servicio provocó la notificación.
       - Simplifique las tareas de configuración utilizando //tags// a nivel del template.
          * Defina los tags en el //trigger// del //template//
          * Los tags quedan definidos en todos los //triggers// creados al asignar el //template//.
       - Cree triggers con tags en una //low-level discovery (LLD)//
          * Defina los //tags// en el //trigger prototype//
          * Use las macros de LLD en el nombre y/o valor
          * Las //tags// quedan definidas en todos los //triggers// creados a partir del //trigger prototype//

Configuración

Los tags de los eventos son definidos en la configuración del trigger, estos pueden ser definidos para triggers, template triggers y trigger prototypes.

Macros soportadas

Las siguientes macros pueden ser usadas en los tags para eventos:

  • {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} y {HOST.ID} pueden ser utulizadas para asignar valores a los tags
  • Las macros {INVENTORY.*} pueden ser usadas para tomar valores del inventario de los hosts presentes en la expresión del trigger (soportada desde la versión 4.0.0 de Zabbix).
  • Las macros de usuario y las macros de usuario con contexto pueden ser usadas tanto para el nombre como para el valor. El contexto de las macros de usuario pueden incluir las macros de la low-level discovery
  • Las macros de low-level discovery pueden ser usadas para el nombre o valor de los tags en los trigger prototypes

Las macros {EVENT.TAGS} y {EVENT.RECOVERY.TAGS} pueden usarse en las notiviaciones de los triggers. Se expanden a una lista, separada por comas, de los tags del evento.

Extracción de una subcadena

Se puede extraer parte del valor del item para el nombre o el valor del tag, usando la función que aplica una regular expression al valor obtenido por las macros {ITEM.VALUE}, {ITEM.LASTVALUE} o a las macros de la low-level discvovery. Por ejemplo:

{{ITEM.VALUE}.regsub(pattern, output)}
       {{ITEM.VALUE}.iregsub(pattern, output)}
       
       {{#LLDMACRO}.regsub(pattern, output)}
       {{#LLDMACRO}.iregsub(pattern, output)}

El nombre y el valor de los tags va a ser recortado a 255 caracteres.

Vea también: Usando funciones para macros en macros de low-level discovery.

Viendo los tags de los eventos

Cuando se definen tags para los eventos, estos pueden ser vistos en:

  • MonitoringProblems
  • MonitoringProblemsEvent details
  • MonitoringDashboardProblems widget (en la ventana popup cuando se pasa el puntero del mouse por encima del nombre de un problema window that opens when rolling the mouse over problem name)

Solo los tres primeros tags se despliegan. Si hay mas de tres tags, se indica mediante 3 puntos. Cuando se pasa el mouse por enciama de los tres puntos, todos los tags se despliegan en una ventana pop-up.

Es de notar que el orden en que aparecen los tags es afectado por la opción Tag display priority del filtro en MonitoringProblems o en el widget Problems.

Desempeño y consecuencias en el almacenamiento

Es de esperar que el uso de tags en los eventos tenga los siguientes efectos:

  • El procesamiento de eventos va a ser mas lento debido a la creación de nuevos registros en la tabla de tag de eventos
  • Las operaciones relacionadas con la manipulación de triggers heredados de templates va a ser mas lenta dado que es necesario crear un registro por tag en la tabla de tags.
  • La sincronización del caché de configuración va a ser mas lenta
  • El almacenamiento de tags de eventos va a requerir espacio adicional en el disco, pudiendo ser comparable con el tamaño de las tablas de triggers y eventos. La cantidad precisa está directamente realacionada con la cantidad de tags por evento y trigger.