Les funcions de macro ofereixen la possibilitat de personalitzar els valors macro (per exemple, escurçar o extreure subcadenes específiques), facilitant-ne el treball.
Totes les funcions enumerades aquí són compatibles amb tot tipus de macros:
Les funcions de macro es poden emprar a totes les ubicacions que admeten les macros enumerades. Això s'aplica tret que s'indiqui explícitament que només s'espera una macro (per exemple, quan es configuren macros d'equip o filtres de regla de descoberta de baix nivell).
Les funcions es descriuen sense informació addicional. Feu clic a la funció per veure'n tots els detalls.
Funció | Descripció |
---|---|
btoa | Codificació del valor de la macro en format Base64. |
fmtnum | Format de nombres per controlar el nombre de dígits impresos després del punt decimal. |
fmttime | Format de l'hora. |
htmldecode | Decodificació del valor de la macro des de la codificació HTML. |
htmlencode | Codificació del valor de la macro en codificació HTML. |
iregsub | Extracció de subcadenes mitjançant una coincidència d'expressió regular (no distingeix entre majúscules i minúscules). |
minuscules | Transformació de caràcters de valor macro en minúscules. |
regrepl | Substitució de caràcter/subcadena en el valor de la macro. |
regsub | Extracció de subcadenes mitjançant una coincidència d'expressió regular (distingeix entre majúscules i minúscules). |
tr | Transliteració de caràcters de valor macro. |
majúscules | Transformació de caràcters de valor macro en majúscules. |
urldecode | Decodificació del valor de la macro a partir de la codificació d'URL. |
urlencode | Codificació del valor de la macro en la codificació d'URL. |
La sintaxi d'una funció macro és:
Els paràmetres de funció opcionals s'indiquen amb < >.
Codificació d'un valor de macro en codificació Base64. La codificació Base64 és un mètode per representar dades binàries com a text, útil per emmagatzemar i transmetre contingut binari mitjançant protocols segurs basats en text.
Exemple:
Format de nombre per controlar el nombre de dígits impresos després del punt decimal.
Paràmetres:
Exemples:
Funció macro | Valor rebut | Sortida |
---|---|---|
{{ITEM.VALUE}.fmtnum(2)} |
24.3413523 |
24.34 |
{{ITEM.VALUE}.fmtnum(0)} |
24.3413523 |
24 |
Format de l'hora.
Tingueu en compte que aquesta funció es pot emprar amb macros que es resolen en un valor en un dels formats d'hora següents:
hh:mm:ss
aaaa-mm-ddThh:mm:ss[tz]
(estàndard ISO8601)Paràmetres:
strftime
;-<N><time_unit>
o +<N><time_unit>
, on:N
- el nombre d'unitats de temps per sumar o restar;time_unit
- h (hora), d (dia), w (setmana), M (mes) o y (any).Comentaris:
time_shift
admet operacions de temps de diversos passos i pot incloure /<time_unit>
per canviar al començament de la unitat de temps (/d
- mitjanit, /w
- 1r dia de la setmana (dilluns), /M
- 1r dia del mes, etc.). Exemples: "-1w" - exactament fa 7 dies; -1w/w
- dilluns de la setmana anterior; -1w/w+1d
- dimarts de la setmana anterior.-1M/d+1h/w
s'analitzarà com a ((-1M/d)+1h)/w
.Exemples:
Funció macro | Valor rebut | Sortida |
---|---|---|
{{TIME}.fmttime(%B)} |
12:36:01 |
Octubre |
{{TIME}.fmttime(%d %B,-1M/M)} |
12:36:01 |
1er de setembre |
Descodificació d'un valor de macro a partir de la codificació HTML. Suporta els caràcters següents:
Valor | Valor descodificat |
---|---|
& |
& |
< |
< |
> |
> |
" |
" |
' |
' |
' |
' |
Exemple:
Descodificació d'un valor de macro a partir de la codificació HTML. Admet els caràcters següents:
Valor | Valor descodificat |
---|---|
& |
& |
< |
< |
> |
> |
" |
" |
' |
' |
' |
' |
Exemple:
Extracció de subcadenes mitjançant una coincidència d'expressió regular (no distingeix entre majúscules i minúscules).
Paràmetres:
Comentaris:
Transformació de tots els caràcters de valor macro a minúscules. Funciona amb jocs de caràcters d'un sol octet (com ara ASCII) i no és compatible amb UTF-8.
Exemple:
{{ITEM.VALUE}.lowercase()} - transforma un valor com "Zabbix SERVER" a "zabbix server" (en minúscula)
Substitució de caràcter/subcadena en el valor de la macro. Tingueu en compte que aquesta funció només és compatible amb la biblioteca libpcre2. Si el servidor/proxy Zabbix es va compilar amb libpcre
, aquesta funció retornarà DESCONEGUT.
Paràmetres:
Comentaris:
Exemples:
{{ITEM.VALUE}.regrepl("oldParam", "newParam")}: substitueix "oldParam" per "newParam"
{{ITEM.VALUE}.regrepl("([^a-z])","\\\1")}: escapa tots els caràcters que no siguin lletres amb una barra invertida
{{ITEM.VALUE}.regrepl("_v1\.0", "_v2.0", "\(final\)", "")}: substitueix diverses parts del valor de l'element
Extracció de subcadenes mitjançant una coincidència d'expressió regular (distingeix entre majúscules i minúscules).
Paràmetres:
Comentaris:
Exemples:
Funció macro | Valor rebut | Sortida |
---|---|---|
{{ITEM.VALUE}.regsub(^[0-9]+, Problem)} |
123Log line |
Problem |
{{ITEM.VALUE}.regsub("^([0-9]+)", "Problem")} |
123 Log line |
Problem |
{{ITEM.VALUE}.regsub("^([0-9]+)", Problem ID: \1)} |
123 Log line |
Problem ID: 123 |
{{ITEM.VALUE}.regsub(".*", "Problem ID: \1")} |
Log line |
''Problem ID: '' |
{{ITEM.VALUE}.regsub("^(\w+).*?([0-9]+)", " Problem ID: \1_\2 ")} |
MySQL crashed errno 123 |
'' Problem ID: MySQL_123'' |
{{ITEM.VALUE}.regsub("([1-9]+", "Problem ID: \1")} |
123 Log line |
*UNKNOWN* (invalid regular expression) |
{{#IFALIAS}.regsub("(.*)_([0-9]+)", \1)} |
customername_1 |
customername |
{{#IFALIAS}.regsub("(.*)_([0-9]+)", \2)} |
customername_1 |
1 |
{{#IFALIAS}.regsub("(.*)_([0-9]+", \1)} |
customername_1 |
{{#IFALIAS}.regsub("(.*)_([0-9]+", \1)} (invalid regular expression) |
{$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}"} |
customername_1 |
{$MACRO:"customername"} |
{$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \2)}"} |
customername_1 |
{$MACRO:"1"} |
{$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+\", \1)}"} |
customername_1 |
{$MACRO:"{{#M}.regsub(\"(.*)_([0-9]+\", \1)}"} (invalid regular expression) |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+)\\", \1)}\"}" |
customername_1 |
"{$MACRO:\"customername\"}" |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+)\\", \2)}\"}" |
customername_1 |
"{$MACRO:\"1\"}") |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+\\", \1)}\"}" |
customername_1 |
"{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+\\", \1)}\"}") (invalid regular expression) |
Transliteració de caràcters de valor macro.
Exemples:
{{ITEM.VALUE}.tr(abc, xyz)}: substituïu totes les aparicions de "a" per "x", "b" per "y", "c" per "z"
{{ITEM.VALUE}.tr(abc, xyzq)}: substituïu totes les aparicions de "a" per "x", "b" per "y", "c" per "z" ("s'ignora q")
{{ITEM.VALUE}.tr(abcde, xyz)}: substituïu totes les aparicions de "a" per "x", "b" per "y", "c" per "z", "d" per "z" , "e" amb "z" (és a dir, xyzzz)
{{ITEM.VALUE}.tr("\\\'", "\/\"")}: substitueix totes les aparicions de barra invertida per barra inclinada, ' per "
{{ITEM.VALUE}.tr(A-Z,a-z)}: converteix totes les lletres a minúscules
{{ITEM.VALUE}.tr(0-9a-z,*)}: substituïu tots els números i lletres minúscules per "*"
{{ITEM.VALUE}.tr(0-9,ab)}: substituïu totes les ocurrències de 0 per "a" i substituïu totes les aparicions d'1, 2, 3, 4, 5, 6, 7, 8 i 9 amb "b"
{{ITEM.VALUE}.tr(0-9abcA-L,*)}: substituïu tots els números, els caràcters "abc" i l'interval A-L per "*"
{{ITEM.VALUE}.tr("\n","*")}: substitueix les ocurrències de final de línia per *
{{ITEM.VALUE}.tr("e", "\n")}: substituïu totes les "e" al final de la línia
Per incloure caràcters literals:
barra invertida: s'ha d'escapar com a \\
cometes simples - s'ha d'escapar com a \'
cometes dobles: s'ha d'escapar com a \"
Seqüències d'escapada compatibles amb barra invertida:
\\\\ => \\ - barra invertida doble a barra invertida simple
\\a => \a - alerta
\\b => \b - retrocés
\\f => \f - feed de formulari
\\n => \n - nova línia
\\r => \r - retorn
\\t => \t - pestanya horitzontal
\\v => \v - pestanya vertical
Transformació de tots els caràcters de valor macro a majúscules. Funciona amb jocs de caràcters d'un sol octet (com ara ASCII) i no és compatible amb UTF-8.
Exemple:
{{ITEM.VALUE}.uppercase()} - transforma un valor com "Zabbix Server" a "ZABBIX SERVER" (en majúscules)
Descodificació d'un valor de macro a partir de la codificació d'URL.
Exemple:
Codificar un valor de macro a cap a codificació d'URL.
Exemple: