Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

6 Etiquetado

Descripción general

Las etiquetas constan de un nombre de etiqueta y un valor de etiqueta. Al etiquetar entidades, puede usar solo el nombre o emparejarlo con un valor (por ejemplo, mysql, jira, target:mysql, service:jira, etc.).

Las etiquetas se pueden definir para varias entidades:

  • Templates
  • Hosts
  • Items
  • Escenarios web
  • Triggers
  • Servicios
  • Items y triggers de template
  • Prototipos de host, item y trigger

Consulte las directrices oficiales de Zabbix para obtener recomendaciones generales sobre la definición de etiquetas, junto con orientación específica para templates, items, triggers y reglas de descubrimiento de bajo nivel.

Las etiquetas tienen múltiples propósitos, sobre todo, marcar eventos. Cuando las entidades están etiquetadas, cualquier nuevo evento relacionado con una entidad etiquetada heredará sus etiquetas. Por ejemplo:

  • con templates etiquetados: cualquier problema de host (creado por triggers del template) heredará las etiquetas del template;
  • con hosts etiquetados: cualquier problema de host heredará las etiquetas del host;
  • con items/escenarios web etiquetados: cualquier problema de item/escenario web heredará las etiquetas del item/escenario web;
  • con triggers etiquetados: cualquier problema creado por el trigger heredará las etiquetas del trigger.

Un evento de problema hereda todas las etiquetas de toda la cadena de entidades: templates, hosts, items/escenarios web, triggers. Las combinaciones idénticas de etiqueta:valor (después de resolver macros) se combinan en una sola, evitando así la duplicación.

Los eventos de recuperación generados por un cierre manual también incluyen las etiquetas de evento resueltas heredadas de templates, hosts, items/escenarios web y triggers. Estas etiquetas están disponibles en las notificaciones y mediante macros como {EVENT.RECOVERY.TAGS} y {EVENT.RECOVERY.TAGSJSON}.

Las etiquetas de evento personalizadas ofrecen más flexibilidad. Por ejemplo:

  • la correlación de eventos se puede configurar en función de las etiquetas de evento;
  • las condiciones de acción se pueden configurar en función de las etiquetas de evento;
  • los problemas de item se pueden agrupar en función de las etiquetas de evento;
  • las etiquetas de problema se pueden utilizar para asignar problemas a servicios.

Las entidades pueden etiquetarse con el mismo nombre de etiqueta pero con diferentes valores de etiqueta (por ejemplo, component:memory y component:storage). De manera similar, una entidad puede tener una etiqueta sin valor y la misma etiqueta con un valor (por ejemplo, database y database:postgresql). Dichas etiquetas no se consideran duplicadas.

Casos de uso

Algunos casos de uso comunes para el etiquetado son los siguientes:

  1. Marcar eventos de trigger:
    • Definir una etiqueta de trigger (por ejemplo, scope:performance).
    • Los problemas creados por este trigger tendrán la etiqueta de trigger.
  2. Marcar problemas heredados de template:
    • Definir una etiqueta de template (por ejemplo, target:mysql).
    • Los problemas creados por triggers de este template tendrán la etiqueta de template.
  3. Marcar problemas de host:
    • Definir una etiqueta de host (por ejemplo, service:jira).
    • Los problemas creados por triggers de este host tendrán la etiqueta de host.
  4. Filtrar items relacionados:
    • Definir una etiqueta de item (por ejemplo, component:cpu).
    • En Monitorización > Últimos datos, los items pueden filtrarse por la etiqueta component:cpu.
  5. Utilizar información extraída del valor del item como valor de la etiqueta:
    • Definir una etiqueta con una macro como valor de la etiqueta (por ejemplo, tag-name:{{ITEM.VALUE<N>}.regsub()} ).
    • En Monitorización > Problemas, los problemas tendrán el valor de la etiqueta resuelto con los datos extraídos del valor del item.
  6. Identificar problemas en un archivo de registro y cerrarlos por separado:
    • Definir una etiqueta de trigger para el trigger del item de monitorización de log que extraerá valores del valor del item usando una macro (por ejemplo, service:{{ITEM.VALUE<N>}.regsub()} ).
    • En la configuración del trigger, configurar la correlación de eventos:
      • establecer el Modo de generación de eventos PROBLEM en "Múltiples";
      • establecer El evento OK cierra en "Todos los problemas si los valores de las etiquetas coinciden";
      • establecer la etiqueta para la coincidencia.
    • Los problemas creados por el trigger del item de log tendrán la etiqueta de trigger y se cerrarán individualmente.
  7. Filtrar notificaciones:
    • Definir etiquetas de trigger (por ejemplo, scope:security para trigger1 y scope:availability para trigger2).
    • Utilizar el filtrado de etiquetas en las condiciones de acción para recibir notificaciones solo de los eventos que coincidan con los datos de la etiqueta.
  8. Identificar problemas en las notificaciones:
    • Definir etiquetas de trigger.
    • Utilizar la macro {EVENT.TAGS} en la notificación de problema.
    • La notificación de problema contendrá las etiquetas de trigger, facilitando la identificación de a qué aplicación/servicio pertenece la notificación.
  9. Simplificar tareas de configuración utilizando etiquetas de template:
    • Definir una etiqueta de trigger de template.
    • Los triggers creados a partir de este trigger de template tendrán su etiqueta.
  10. Crear triggers con etiquetas desde el descubrimiento de bajo nivel (LLD):
    • Definir una etiqueta de prototipo de trigger con una macro LLD en el nombre o valor de la etiqueta (por ejemplo, scope:{#FSNAME}).
    • Los triggers creados a partir del prototipo de trigger tendrán su etiqueta.
  11. Relacionar servicios utilizando etiquetas de servicio:
  12. Vincular servicios a problemas utilizando etiquetas de problema de servicio:
    • Definir una etiqueta de problema en la configuración del servicio (por ejemplo, target:mysql).
    • Los problemas con una etiqueta coincidente se correlacionarán automáticamente con el servicio, y el estado del servicio cambiará según las reglas de cálculo de estado de servicio configuradas.
  13. Suprimir problemas cuando un host está en modo de mantenimiento:
  14. Conceder acceso a grupos de usuarios:

Configuración

Las etiquetas pueden definirse en una pestaña dedicada, por ejemplo, en la configuración de disparadores:

Soporte de macros

Las macros integradas y macros de usuario en las etiquetas se resuelven en el momento del evento. Hasta que el evento haya ocurrido, estas macros se mostrarán sin resolver en la interfaz de Zabbix.

Las macros de bajo nivel de descubrimiento se resuelven durante el proceso de descubrimiento.

Las siguientes macros pueden usarse en los nombres y valores de etiquetas de disparadores:

  • {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} y {HOST.ID} macros integradas
  • {INVENTORY.*} macros integradas (para referenciar valores de inventario de equipo de uno o varios equipos en una expresión de disparador)
  • Macros de usuario y macros de usuario con contexto (el contexto puede incluir macros de bajo nivel de descubrimiento)
  • Macros de bajo nivel de descubrimiento (solo en etiquetas de prototipo de disparador)

Las siguientes macros pueden usarse en los nombres y valores de etiquetas de plantilla, equipo y métrica/escenario web:

  • {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} y {HOST.ID} macros integradas
  • {INVENTORY.*} macros integradas
  • Macros de usuario
  • Macros de bajo nivel de descubrimiento (solo en etiquetas de prototipo de equipo y métrica)

Las siguientes macros pueden usarse en notificaciones basadas en disparadores:

  • {EVENT.TAGS} y {EVENT.RECOVERY.TAGS} macros integradas (estas macros se resolverán en una lista separada por comas de etiquetas de evento o etiquetas de evento de recuperación)
  • {EVENT.TAGSJSON} y {EVENT.RECOVERY.TAGSJSON} macros integradas (estas macros se resolverán en un array JSON que contiene objetos de etiquetas de evento o de recuperación)
Extracción de subcadenas en etiquetas de triggers

Se admite la extracción de subcadenas para rellenar el nombre o el valor de la etiqueta, utilizando una función de macro. La función aplica una expresión regular al valor obtenido por la macro soportada. Por ejemplo:

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

Si el nombre o el valor de la etiqueta supera los 255 caracteres tras la resolución de la macro, se truncará a 255 caracteres.

Consulte también: Uso de funciones de macro en macros de bajo nivel para etiquetar eventos.

Visualización de etiquetas de eventos

Las etiquetas, si se definen, pueden verse con los nuevos eventos en:

El orden y el número de etiquetas mostradas se determina mediante las opciones de filtrado Prioridad de visualización de etiquetas y Mostrar etiquetas en Monitorización > Problemas o en el widget de problemas del cuadro de mando. Tenga en cuenta que se puede mostrar un máximo de tres etiquetas; si hay más etiquetas, al pasar el ratón por encima de los tres puntos se muestran todas las etiquetas en una ventana emergente.