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 combinarlo con un valor (por ejemplo, mysql, jira, target:mysql, service:jira, etc.).

Las etiquetas se pueden definir para varias entidades:

  • Plantillas
  • Equipos
  • Métricas
  • Escenarios web
  • Iniciadores
  • Servicios
  • Plantillas de métricas e iniciadores
  • Prototipos de equipo, métrica e iniciador

Consulte las pautas oficiales de Zabbix para obtener recomendaciones generales sobre la definición de etiquetas, junto con una guía específica para plantillas, métricas, iniciadores y reglas de descubrimiento de bajo nivel.

Las etiquetas tienen múltiples propósitos, principalmente, marcar eventos. Cuando se etiquetan entidades, cualquier evento nuevo relacionado con una entidad etiquetada heredará sus etiquetas. Por ejemplo:

  • con plantillas etiquetadas - cualquier problema de equipo (creado por iniciadores de la plantilla) heredará las etiquetas de la plantilla;
  • con equipos etiquetados - cualquier problema de equipo heredará las etiquetas de equipo;
  • con métricas/escenarios web etiquetados: cualquier problema de métrica/escenario web heredará las etiquetas de métrica/escenario web;
  • con iniciadores etiquetados: cualquier problema creado por el iniciador heredará las etiquetas del iniciador.

Un evento de problema hereda todas las etiquetas de toda la cadena de entidades: plantillas, equipos, métricas/escenarios web, iniciadores. Las combinaciones idénticas de etiqueta:valor (después de las macros resueltas) se fusionan en una, evitando así la duplicación.

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

  • correlación de eventos se puede configurar en función de las etiquetas de eventos;
  • condiciones de acción se pueden configurar en función de las etiquetas de eventos;
  • los problemas de elementos se pueden agrupar en función de las etiquetas de eventos;
  • las etiquetas de problemas se pueden usar para asignar problemas a servicios.

Las entidades pueden tener el mismo nombre de etiqueta pero diferentes valores de etiqueta (por ejemplo, component:memory y component:storage). De manera similar, una entidad puede tener una etiqueta sin un 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 iniciador:
    • Defina una etiqueta de iniciador (por ejemplo, scope:performance).
    • Los problemas creados por este iniciador tendrán la etiqueta de iniciador.
  2. Marcar problemas heredados de plantilla:
    • Defina una etiqueta de plantilla (por ejemplo, target:mysql).
    • Los problemas creados por iniciadores de esta plantilla tendrán la etiqueta de la plantilla.
  3. Marcar problemas de equipo:
    • Defina una etiqueta de equipo (por ejemplo, service:jira).
    • Los problemas creados por iniciadores de este equipo tendrán la etiqueta del equipo.
  4. Filtrar métricas relacionadas:
    • Defina una etiqueta de métrica (por ejemplo, component:cpu).
    • En MonitoringLatest data, las métricas se pueden filtrar por la etiqueta component:cpu.
  5. Utilice la información extraída del valor de la métrica como valor de etiqueta:
    • Defina una etiqueta con una macro como valor de etiqueta (por ejemplo, tag-name:{{ITEM.VALUE<N>}.regsub()} ).
    • En MonitoreoProblemas, los problemas tendrán el valor de etiqueta resuelto en los datos extraídos del valor de la métrica.
  6. Identifique los problemas en un archivo de registro y ciérrelos por separado:
    • Defina una etiqueta de iniciador para el iniciador de la métrica de monitoreo de registro que extraerá valores del valor de la métrica utilizando una macro (por ejemplo, service:{{ITEM.VALUE<N>}.regsub()} ).
    • En la configuración del iniciador, configure la correlación de eventos:
    • configure PROBLEM event generation mode en "Multiple";
    • configure OK event closes en "All problems if tag values match";
    • configure la etiqueta para la coincidencia.
    • Los problemas creados por el iniciador de la métrica de registro tendrán la etiqueta del iniciador y se cerrarán individualmente.
  7. Filtrar notificaciones:
    • Defina etiquetas del iniciador (por ejemplo, scope:security para el iniciador1 y scope:availability para el iniciador2).
    • Use el filtrado de etiquetas en las conodiciones de acción para recibir notificaciones solo sobre los eventos que coincidan con los datos de la etiqueta.
  8. Identificar problemas en las notificaciones:
    • Defina etiquetas del iniciador.
    • Utilice la macro {EVENT.TAGS} en la notificación del problema.
    • La notificación del problema contendrá las etiquetas del iniciador, lo que facilita la identificación de la aplicación o el servicio al que pertenece la notificación.
  9. Simplifique las tareas de configuración mediante el uso de etiquetas de plantilla:
    • Defina una etiqueta de plantilla de iniciador.
    • Los iniciadores creados a partir de esta plantilla de iniciador tendrán su etiqueta.
  10. Cree iniciadores con etiquetas de detección de bajo nivel (LLD):
    • Defina una etiqueta de prototipo de iniciador con una macro LLD en el nombre o el valor de la etiqueta (por ejemplo, scope:{#FSNAME}).
    • Los iniciadores creados a partir del prototipo de iniciador tendrán su etiqueta.
  11. Haga coincidir los servicios mediante etiquetas de servicio:
  12. Vincule servicios a problemas mediante etiquetas de problemas de servicio:
    • Defina una etiqueta de problema en configuración de 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 del estado del servicio configuradas.
  13. Suprima problemas cuando un equipo esté en modo de mantenimiento:
  14. Otorgar acceso a grupos de usuarios:

Configuración

Las etiquetas se pueden definir en una pestaña dedicada, por ejemplo, en la configuración de iniciadores:

Compatibilidad con macros

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

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

Las siguientes macros se pueden utilizar en los nombres y valores de las etiquetas de iniciador:

  • Macros integradas {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} y {HOST.ID}
  • Macros integradas {INVENTORY.*} (para hacer referencia a los valores de inventario de host de uno o varios hosts en una expresión de activación)
  • Macros de usuario y macros de usuario con contexto (el contexto puede incluir macros de detección de bajo nivel)
  • Macros de detección de bajo nivel (solo en las etiquetas de prototipo de activación)

Las siguientes macros se pueden utilizar en los nombres y valores de las etiquetas de plantilla, equipo y elemento/escenario web:

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

Las siguientes macros se pueden usar en notificaciones basadas en iniciadores:

  • Macros integradas {EVENT.TAGS} y {EVENT.RECOVERY.TAGS} (estas macros se resolverán en una lista separada por comas de etiquetas de eventos o etiquetas de eventos de recuperación)
  • Macros integradas {EVENT.TAGSJSON} y {EVENT.RECOVERY.TAGSJSON} (estas macros se resolverán en una matriz JSON que contiene objetos de etiquetas de eventos u objetos de etiquetas de eventos de recuperación)
Extracción de subcadenas en etiquetas de iniciador

La extracción de subcadenas es compatible para completar el nombre o el valor de la etiqueta mediante una función de macro. La función aplica una expresión regular al valor obtenido por la macro compatible. 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 después de la resolución de la macro, se truncará a 255 caracteres.

Consulte también: Uso de funciones de macro en macros de detección de bajo nivel para el etiquetado de eventos.

Visualización de etiquetas de eventos

Las etiquetas, si están definidas, se pueden visualizar con nuevos eventos en:

El orden y la cantidad de etiquetas mostradas se determina mediante las opciones de filtrado Prioridad de visualización de etiquetas y Mostrar etiquetas en MonitoreoProblemas o en el widget de tablero Problemas. Tenga en cuenta que se puede mostrar un máximo de tres etiquetas; Si hay más etiquetas, al pasar el cursor sobre los tres puntos se muestran todas las etiquetas en una ventana emergente.