Esta es una traducción de la página de documentación original en español. Ayúdanos a mejorarla.

#4 Macros de descubrimiento de bajo nivel

Visión general

Hay un tipo de macro que se usa dentro de low-level descubrimiento (LLD) función:

{#MACRO}

Es una macro que se usa en una regla LLD y devuelve valores reales de la nombre del sistema de archivos, interfaz de red, OID de SNMP, etc.

Estas macros se pueden usar para crear elementos, disparadores y gráficos. prototipos. Luego, al descubrir sistemas de archivos reales, la red interfaces, etc., estas macros se sustituyen por valores reales y se la base para la creación de elementos reales, disparadores y gráficos.

Estas macros también se utilizan para crear prototipos de hosts y grupos de hosts en máquina virtual discovery.

Algunas macros de descubrimiento de bajo nivel vienen "preempaquetadas" con el LLD función en Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#VALORSNMP}. Sin embargo, adherirse a estos nombres no es obligatorio cuando creando un personalizado regla de descubrimiento de bajo nivel. Entonces puede usar cualquier otro nombre de macro LLD y referirse a ese nombre.

Ubicaciones admitidas

Las macros LLD se pueden utilizar:

  • en el filtro de reglas de descubrimiento de bajo nivel
  • para prototipos de artículos en
    • nombre
    • parámetros clave
    • unidad
    • intervalo de actualización1
    • período de almacenamiento del historial1
    • período de almacenamiento de tendencias1
    • pasos de preprocesamiento del valor del artículo -ID de SNMP
    • Campo del sensor IPMI
    • fórmula de artículo calculado
    • Guión SSH y guión Telnet
    • consulta SQL de monitoreo de base de datos
    • Campo de punto final del elemento JMX
    • descripción
    • Campo URL del agente HTTP
    • Campo de campos de consulta HTTP del agente HTTP
    • Campo de cuerpo de la solicitud del agente HTTP
    • Campo de códigos de estado requeridos por el agente HTTP
    • Clave y valor del campo de los encabezados del agente HTTP
    • Campo de nombre de usuario de autenticación HTTP del agente HTTP
    • Campo de contraseña de autenticación HTTP del agente HTTP
    • Campo de proxy HTTP del agente HTTP
    • Campo de archivo de certificado SSL HTTP del agente HTTP
    • Campo de archivo de clave HTTP SSL del agente HTTP
    • Campo de contraseña de clave HTTP SSL del agente HTTP
    • Tiempo de espera de HTTP del agente HTTP1 campo
    • etiquetas
  • para prototipos de disparador en
    • nombre
    • Datos operacionales
    • expresión (solo en constantes y parámetros de función)
    • URL
    • descripción
    • etiquetas
  • para prototipos gráficos en
    • nombre
  • para prototipos anfitriones en
    • nombre
    • nombre visible
    • campos de interfaz personalizados: IP, DNS, puerto, comunidad SNMP v1/v2, Nombre de contexto de SNMP v3, nombre de seguridad de SNMP v3, SNMP v3 frase de contraseña de autenticación, frase de contraseña de privacidad SNMP v3
    • nombre del prototipo del grupo anfitrión
    • valor de etiqueta de host
    • valor de la macro del anfitrión
    • (consulte la lista completa)

En todos esos lugares, las macros LLD se pueden usar dentro del usuario estático macro contexto.

Uso de funciones macro

Las funciones de macro son compatibles con macros de descubrimiento de bajo nivel (excepto en filtro de reglas de descubrimiento de bajo nivel), lo que permite extraer una cierta parte de el valor de la macro utilizando una expresión regular.

Por ejemplo, es posible que desee extraer el nombre del cliente y la interfaz número de la siguiente macro LLD para el etiquetado de eventos:

{#IFALIAS}=nombrecliente_1

Para hacerlo, la función de macro regsub se puede usar con la macro en el campo de valor de etiqueta de evento de un prototipo de disparador:

Tenga en cuenta que las comas no están permitidas en el elemento sin comillas clave parámetros, por lo que el parámetro que contiene una función de macro tiene que ser citado. la barra invertida (\) debe usarse para escapar de las comillas dobles dentro del parámetro. Ejemplo:

net.if.in["{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}",bytes]

Para obtener más información sobre la sintaxis de funciones de macros, consulte: Macro funciones

Las funciones de macro son compatibles con macros de descubrimiento de bajo nivel desde Zabbix 4.0.

Notas al pie

1 En los campos marcados con 1 un solo macro tiene que llenar todo el campo. Múltiples macros en un campo o macros mezclados con texto no son compatibles.