Las funciones de macro ofrecen la posibilidad de personalizar los valores de macros (por ejemplo, acortar o extraer subcadenas específicas), lo que facilita su uso.
Todas las funciones enumeradas aquí son compatibles con todos los tipos de macros:
Las funciones de macro se pueden utilizar en todas las ubicaciones que admitan las macros enumeradas. Esto se aplica a menos que se indique explícitamente que solo se espera una macro (por ejemplo, al configurar macros de equipo o filtros de reglas de detección de bajo nivel).
Las funciones se enumeran sin información adicional. Haga clic en la función para ver los detalles completos.
Función | Descripción |
---|---|
btoa | Codificación del valor de la macro en formato Base64. |
fmtnum | Formato de números para controlar la cantidad de dígitos impresos después del punto decimal. |
fmttime | Formato de hora. |
htmldecode | Decodificación del valor de la macro a partir de la codificación HTML. |
htmlencode | Codificación del valor de la macro en codificación HTML. |
iregsub | Extracción de subcadenas mediante una expresión regular (sin distinguir entre mayúsculas y minúsculas). |
lowercase | Transformación de caracteres de valores de macro a minúsculas. |
regrepl | Reemplazo de carácter/subcadena en valores de macro. |
regsub | Extracción de subcadenas mediante una expresión regular (sin distinguir entre mayúsculas y minúsculas). |
tr | Transliteración de caracteres de valores de macro. |
uppercase | Transformación de caracteres de valores de macro a mayúsculas. |
urldecode | Decodificación de valores de macro a partir de la codificación de URL. |
urlencode | Codificación de valores de macro a codificación de URL. |
La sintaxis de una macro función es:
Los parámetros de función opcionales se indican con < >.
Codificación de un valor de macro en codificación Base64. La codificación Base64 es un método para representar datos binarios como texto, útil para almacenar y transmitir de forma segura contenido binario a través de protocolos basados en texto.
Ejemplo:
Esta función es compatible desde Zabbix 7.0.4.
Formato numérico para controlar el número de dígitos impresos después del punto decimal.
Parámetros:
Ejemplos:
Función macro | Valor recibido | Salida |
---|---|---|
{{ITEM.VALUE}.fmtnum(2)} |
24.3413523 |
24.34 |
{{ITEM.VALUE}.fmtnum(0)} |
24.3413523 |
24 |
Formato de hora.
Tenga en cuenta que esta función se puede utilizar con macros que se resuelven en un valor en uno de los siguientes formatos de hora:
hh:mm:ss
aaaa-mm-ddThh:mm:ss[tz]
(estándar ISO8601)Parámetros:
strftime
;-<N><time_unit>
o +<N><time_unit>
, donde:N
- el número de unidades de tiempo para sumar o restar;time_unit
- h (hora), d (día), w (semana), M (mes) o y (año).Comentarios:
time_shift
admite operaciones de tiempo de varios pasos y puede incluir /<time_unit>
para desplazarse al principio de la unidad de tiempo. (/d
- medianoche, /w
- 1er día de la semana (lunes), /M
- 1er día del mes, etc.). Ejemplos: -1w
- hace exactamente 7 días; -1w/w
- lunes de la semana anterior; -1w/w+1d
- Martes de la semana anterior.-1M/d+1h/w
se analizará como ((-1M/d)+1h)/w
.Ejemplos:
Función macro | Valor recibido | Salida |
---|---|---|
{{TIME}.fmttime(%B)} |
12:36:01 |
Octubre |
{{TIME}.fmttime(%d %B,-1M/M)} |
12:36:01 |
1 de septiembre |
Decodificación de un valor de macro a partir de la codificación HTML. Esta función es compatible desde Zabbix 7.0.4.
Se admiten los siguientes caracteres:
Valor | Valor decodificado |
---|---|
& |
& |
< |
< |
> |
> |
" |
" |
' |
' |
' |
' |
Ejemplo:
Codificación de un valor de macro en codificación HTML. Esta función es compatible desde Zabbix 7.0.4.
Se admiten los siguientes caracteres:
Valor | Valor codificado |
---|---|
& |
& |
< |
< |
> |
> |
" |
" |
' |
' |
Ejemplo:
Extracción de subcadenas mediante una coincidencia de expresión regular (no distingue entre mayúsculas y minúsculas).
Parámetros:
Comentarios:
Transformación de todos los caracteres de valores de macro a minúsculas. Funciona con conjuntos de caracteres de un solo byte (como ASCII) y no admite UTF-8. Esta función es compatible desde Zabbix 7.0.4.
Ejemplo:
{{ITEM.VALUE}.lowercase()} - transforma un valor como "Zabbix SERVER" en "zabbix server" (en minúsculas)
Reemplazo de carácter/subcadena en valor de macro. Esta función es compatible desde Zabbix 7.0.4.
Parámetros:
Comentarios:
Ejemplos:
{{ITEM.VALUE}.regrepl("oldParam", "newParam")} - reemplaza "oldParam" por "newParam" {{ITEM.VALUE}.regrepl("([^a-z])","\\1")} - omite todos los caracteres que no sean letras con una barra invertida {{ITEM.VALUE}.regrepl("_v1.0", "_v2.0", "(final)", "")} - reemplaza varias partes en el valor del elemento
Extracción de subcadenas mediante una coincidencia de expresión regular (distingue entre mayúsculas y minúsculas).
Parámetros:
Comentarios:
Ejemplos:
Función macro | Valor recibido | Salida |
---|---|---|
{{ITEM.VALUE}.regsub(^[0-9]+, Problema)} |
123Línea de registro |
Problema |
{{ITEM.VALUE}.regsub("^([0-9]+)", "Problema")} |
123 Línea de registro |
Problema |
{{ITEM.VALUE}.regsub("^([0-9]+)", ID del problema: \1)} |
123 Línea de registro |
ID del problema: 123 |
{{ITEM.VALUE}.regsub(".*", "ID del problema: \1")} |
Línea de registro |
''ID del problema: '' |
{{ITEM.VALUE}.regsub("^(\w+).*?([0-9]+)", " ID del problema: \1_\2 ")} |
MySQL falló errno 123 |
'' ID del problema: MySQL_123 '' |
{{ITEM.VALUE}.regsub("([1-9]+", "ID del problema: \1")} |
123 Línea de registro |
*UNKNOWN* (expresión regular no válida) |
{{#IFALIAS}.regsub("(.*)_([0-9]+)", \1)} |
nombre_cliente_1 |
nombre_cliente |
{{#IFALIAS}.regsub("(.*)_([0-9]+)", \2)} |
nombre_cliente_1 |
1 |
{{#IFALIAS}.regsub("(.*)_([0-9]+", \1)} |
nombre de cliente_1 |
{{#IFALIAS}.regsub("(.*)_ ([0-9]+", \1)} (expresión regular no válida) |
{$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}"} |
nombre_cliente_1 |
{$MACRO: "nombre de cliente"} |
{$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \2)}"} |
nombre_cliente_1 |
{$MACRO: "1"} |
{$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+\", \1)}"} |
nombre_cliente_1 |
{$MACRO:" {{#M}.regsub(\"(.*)_([0-9]+\", \1)}"} (expresión regular no válida) |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+)\\", \1)}\"}" |
nombre_cliente_1 |
"{$MACRO:\"nombre de cliente\"}" |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+)\\", \2)}\"}" |
nombre_cliente_1 |
"{$MACRO:\"1\"}") |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+\\", \1)}\"}" |
nombre_cliente_1 |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+\\", \1)}\"}") (expresión regular no válida) |
Transliteración de caracteres de valores de macro. Esta función es compatible desde Zabbix 7.0.4.
Ejemplos:
{{ITEM.VALUE}.tr(abc, xyz)} - reemplaza todas las ocurrencias de a por x, b por y, c por z
{{ITEM.VALUE}.tr(abc, xyzq)} - reemplaza todas las ocurrencias de a por x, b por y, c por z (q se ignora)
{{ITEM.VALUE}.tr(abcde, xyz)} - reemplaza todas las ocurrencias de a por x, b por y, c por z, d por z, e por z (es decir, xyzzz)
{{ITEM.VALUE}.tr("\\\'", "\/\"")} - reemplaza todas las ocurrencias de barra invertida por barra diagonal, ' por "
{{ITEM.VALUE}.tr(A-Z,a-z)} - convierte todas las letras a minúsculas
{{ITEM.VALUE}.tr(0-9a-z,*)} - reemplaza todos los números y letras minúsculas por "*"
{{ITEM.VALUE}.tr(0-9,ab)} - reemplaza todas las ocurrencias de 0 con a, y reemplaza todas las ocurrencias de 1, 2, 3, 4, 5, 6, 7, 8 y 9 con b
{{ITEM.VALUE}.tr(0-9abcA-L,*)} - reemplaza todos los números, caracteres abc y el rango A-L con "*"
{{ITEM.VALUE}.tr("\n","*")} - reemplaza las ocurrencias de fin de línea con *
{{ITEM.VALUE}.tr("e", "\n")} - reemplaza todas las "e" al final de línea
Para incluir caracteres literales:
barra invertida - debe escaparse como \\
comilla simple - debe escaparse como \'
comilla doble - debe escaparse como \"
Secuencias de escape admitidas con barra invertida:
\\\\ => \\ - barra invertida doble a barra invertida simple
\\a => \a - alerta
\\b => \b - retroceso
\\f => \f - avance de página
\\n => \n - nueva línea
\\r => \r - retorno
\\t => \t - tabulación horizontal
\\v => \v - tabulación vertical
Transformación de todos los caracteres de valores de macro a mayúsculas. Funciona con conjuntos de caracteres de un solo byte (como ASCII) y no admite UTF-8. Esta función es compatible desde Zabbix 7.0.4.
Ejemplo:
{{ITEM.VALUE}.uppercase()} - transforma un valor como "Zabbix Server" en "ZABBIX SERVER" (en mayúsculas)
Decodificación de un valor de macro a partir de la codificación de URL. Esta función es compatible desde Zabbix 7.0.4.
Ejemplo:
Codificación de un valor de macro en codificación URL. Esta función es compatible desde Zabbix 7.0.4.
Ejemplo: