Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

5 Macros de descubrimiento de bajo nivel

Descripción general

Hay un tipo de macro que se utiliza dentro de la función de descubrimiento de bajo nivel (LLD):

{#MACRO}

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

Estas macros se pueden utilizar para crear prototipos de métricas, iniciadores y gráficos. Luego, al descubrir los sistemas de archivos reales, los interfaces de red, etc., estas macros se sustituyen por valores reales y son la base para crear métricas, iniciadores y gráficos reales.

Estas macros también se utilizan para crear prototipos de equipos y grupos de equipos en el descubrimiento de máquinas virtuales.

Algunas macros de descubrimiento de bajo nivel vienen "preempaquetadas" con la función LLD en Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Sin embargo, no es obligatorio adherirse a estos nombres cuando se crea una regla de descubrimiento de bajo nivel personalizada. Entonces, puede usar cualquier otro nombre de macro LLD y hacer referencia a ese nombre.

Tipos de datos compatibles

Al definir reglas de descubrimiento personalizadas, los valores de las propiedades devueltos en objetos JSON para macros LLD deben ser uno de los siguientes tipos primitivos:

  • cadena;
  • número;
  • booleano.

No se admiten matrices, objetos ni valores nulos. Cualquier macro LLD que haga referencia a dicho valor permanecerá sin expandirse y aparecerá literalmente (por ejemplo, '{#MY_MACRO}') durante el preprocesamiento y la creación del elemento.

Ubicaciones compatibles

Se pueden usar macros LLD:

  • en el filtro de la regla de descubrimiento de bajo nivel
  • para prototipos de ítems en
    • nombre
    • parámetros de clave
    • unidad
    • intervalo de actualización1
    • tiempo de espera1
    • período de almacenamiento del historial1
    • período de almacenamiento de tendencias1
    • pasos de preprocesamiento del valor del ítem
    • OID SNMP
    • campo de sensor IPMI
    • expresión de ítem calculado/agregado, en:
      • constantes de expresión y parámetros de función
      • parámetros de clave de ítem
    • condiciones de filtro de ítem agregado (nombre de grupo de equipos y nombre de etiqueta)
    • script SSH y script Telnet
    • consulta SQL de monitorización de base de datos
    • campo endpoint de ítem JMX
    • descripción
    • campo URL del agente HTTP
    • campo de parámetros de consulta HTTP del agente HTTP
    • campo de cuerpo de solicitud del agente HTTP
    • campo de códigos de estado requeridos del agente HTTP
    • clave y valor del campo de cabeceras 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 SSL HTTP del agente HTTP
    • campo de contraseña de clave SSL HTTP del agente HTTP
    • etiquetas
  • para prototipos de disparadores en
    • nombre
    • datos operativos
    • expresión (solo en constantes y parámetros de función)
    • URL
    • descripción
    • etiquetas
  • para prototipos de gráficos en
    • nombre
  • para prototipos de equipos en
    • nombre
    • nombre visible
    • campos de interfaz personalizada: IP, DNS, puerto, comunidad SNMP v1/v2, nombre de contexto SNMP v3, nombre de seguridad SNMP v3, frase de autenticación SNMP v3, frase de privacidad SNMP v3
    • nombre del prototipo de grupo de equipos
    • valor de etiqueta de equipo
    • valor de macro de equipo
    • (ver la lista completa)

En todos estos lugares, excepto en el filtro de la regla de descubrimiento de bajo nivel, las macros LLD pueden usarse dentro del contexto de macro de usuario estático.

Uso de funciones macro

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

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

{#IFALIAS}=nombrecliente_1

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

Tenga en cuenta que las comas no están permitidas en los parámetros de clave de metrica no entrecomillados, por lo que el parámetro que contiene una función de macro tiene que estar entrecomillado. La barra invertida (\) debe usarse para escapar 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 macro, consulte: funciones de madro

Las funciones de macro están soportadas en las 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.