Las macros de usuario son compatibles con Zabbix para una mayor flexibilidad, además a las macros compatibles fuera de la caja.
Las macros de usuario se pueden definir a nivel global, de plantilla y de host. Estas Las macros tienen una sintaxis especial:
Zabbix resuelve las macros de acuerdo con la siguiente prioridad:
En otras palabras, si no existe una macro para un host, Zabbix intentará encuéntrelo en las plantillas de acogida de profundidad creciente. Si aún no se encuentra, un se utilizará la macro global, si existe.
::: nota de advertencia Si existe una macro con el mismo nombre en varios plantillas vinculadas del mismo nivel, la macro de la plantilla con el se utilizará el ID más bajo. Así tener macros con el mismo nombre en múltiples plantillas es un riesgo de configuración. :::
Si Zabbix no puede encontrar una macro, la macro no se resolverá.
Las macros (incluidas las macros de usuario) quedan sin resolver en la sección Configuración (por ejemplo, en la lista de disparadores) por diseño para hacer que la configuración compleja sea más transparente.
Las macros de usuario se pueden utilizar en:
Es recomendable utilizar macros de equipo en lugar de macros globales porque agregar, actualizar o eliminar macros globales fuerza una actualización incremental de la configuración para todos los equipos. Para obtener más información, consulte Comprobaciones de agentes activos y pasivos.
Para definir macros de usuario, vaya a la ubicación correspondiente en el frontend:
Si una macro de usuario se utiliza en métricas o iniciadores en una plantilla, se sugiere agregar esa macro a la plantilla incluso si se define a nivel global. De esa manera, si el tipo de macro es texto exportar la plantilla a XML e importarla en otro sistema todavía permita que funcione como se esperaba. Los valores de las macros secretas no son exportados.
Una macro de usuario tiene los siguientes atributos:
Parámetro | Descripción |
---|---|
Macro | Nombre de la macro. El nombre debe estar entre llaves y comenzar con un signo de dólar. Ejemplo: {$FRONTEND_URL}. Se permiten los siguientes caracteres en los nombres de las macros: A-Z (solo mayúsculas), 0-9, _, . |
Value | Valor de macro. Se admiten tres tipos de valores: Text (predeterminado): valor de texto sin formato Texto secreto: el valor está enmascarado con asteriscos Secreto de bóveda: el valor contiene una ruta/consulta a un secreto de bóveda. Para cambiar el tipo de valor, haga clic en el botón al final del campo de entrada de valor. La longitud máxima de un valor de macro de usuario es 2048 caracteres (255 caracteres en versiones anteriores a 5.2.0) . |
Description | Campo de texto utilizado para proporcionar más información sobre esta macro. |
En las expresiones de iniciador, las macros de usuario se resolverán si hacen referencia a un parámetro o constante. NO se resolverán si hacen referencia a un equipo, clave de métrica, función, operador u otra expresión de iniciador. Las macros secretas no se pueden utilizar en las expresiones de iniciador.
Uso de macro a nivel de host en la clave del elemento "Estado del demonio SSH":
net.tcp.servicio[ssh,,{$SSH_PORT}]
Este elemento se puede asignar a varios hosts, siempre que el valor de {$SSH_PORT} está definido en esos hosts.
Uso de macro a nivel de host en el activador "La carga de la CPU es demasiado alta":
último(/ca_001/system.cpu.load[,avg1])>{$MAX_CPULOAD}
Dicho activador se crearía en la plantilla, no se editaría en anfitriones individuales.
Si desea utilizar la cantidad de valores como la función parámetro (por ejemplo, max(/host/key,#3)), incluir marca hash en la definición de la macro así: ALGUNA_PERIODO => #3
Uso de dos macros en el activador "La carga de la CPU es demasiado alta":
min(/ca_001/system.cpu.load[,avg1],{$CPULOAD_PERIOD})>{$MAX_CPULOAD}
Tenga en cuenta que una macro se puede utilizar como parámetro de la función de disparo, en esta función de ejemplo min().
Sincronice la condición de indisponibilidad del agente con la actualización del artículo intervalo:
nodata(/ca_001/agent.ping,{$INTERVALO})=1
Centralizar la configuración de los horarios de trabajo:
1-5,09:00-18:00
;Use la macro de prototipo de host para configurar elementos para hosts descubiertos: