Les macros d'usuari s'admeten a Zabbix per a una major flexibilitat, a més de les macros admeses de base.
Les macros d'usuari es poden definir a nivell global, model i equip. Aquestes macros tenen una sintaxi especial:
Zabbix resol les macros segons la prioritat següent:
En altres paraules, si una macro no existeix per a un equip, Zabbix intentarà trobar-la en plantilles d'equips de més profunditat. Si encara no es troba, s'emprarà una macro global, si existeix.
Si existeix una macro amb el mateix nom en diversos models enllaçats del mateix nivell, s'emprarà la macro del model amb l'identificador més baix. Per tant, tindre macros amb el mateix nom en diverses plantilles és un risc de configuració.
Si Zabbix no troba una macro, la macro no es resoldrà.
Les macros (incloses les macros d'usuari) es deixen sense resoldre a la secció Configuració (per exemple, a la llista de triggers) per disseny per fer que la configuració complexa sigui més transparent.
Les macros d'usuari es poden emprar a:
És recomanable emprar macros d'equip en lloc de macros globals perquè afegir, actualitzar o esborrar macros globals obliga a l'actualització incremental de la configuració per a tots els equips. Per obtindre més informació, veieu Notes d'actualització per a 6.4.0.
Per definir macros d'usuari, aneu a la ubicació corresponent a la interfície:
Si s'empra una macro d'usuari en elements o triggers d'una plantilla, es recomana afegir aquesta macro a la plantilla encara que sigui definida a nivell global. Així, si el tipus de macro és text, exportar el model a XML i importar-lo a un altre sistema farà que funcioni com s'esperava. Els valors de macro secretes no s'exporten.
Una macro d'usuari té els atributs següents:
Paràmetre | Descripció |
---|---|
Macro | Nom de la macro. El nom ha d'anar entre claus i començar amb un signe de dòlar. Exemple: {$FRONTEND_URL}. Els caràcters següents es permeten als noms de macro: A-Z (només en majúscules), 0-9, _, . |
Valor | Valor de macro. S'admeten tres tipus de valors: Text (predeterminat) - valor de text sense format Text secret - el valor és emmascarat amb asteriscs Vault secret - el valor conté un camí de referència a un Vault Secret Per canviar el valor feu clic al botó al final del camp d'entrada de valor L'allargada màxima d'un valor de la macro d'usuari és de 2048 caràcters (255 caràcters en versions anteriors a la 5.2.0). |
Descripció | Camp de text emprat per proporcionar més informació sobre aquesta macro. |
A les expressions triggers, les macros d'usuari es resoldran si fan referència a un paràmetre o una constant. NO es resoldran si es refereixen a un equip, clau d'element, funció, operador o una altra expressió trigger. Les macros secretes no es poden emprar en expressions de triggers.
Ús d'una macro a nivell d'equip a la clau d'element "estat del dimoni SSH":
net.tcp.service[ssh,,{$SSH_PORT}]
Aquest element es pot atribuir a diferents equips, amb la condició que el valor d'{$SSH_PORT} sigui definit a aquests equips.
Ús d'una macro d'equip al trigger "La càrrega del processador és molt alta":
last(/ca_001/system.cpu.load[,avg1])>{$MAX_CPULOAD}
Aquest trigger es crearia a la plantilla, no es modificaria en equips individuals.
Si voleu emprar la quantitat de valors com a paràmetre de funció (per exemple, max(/host/key,#3)), incloeu el signe de lletra a la definició de macro com aquesta: SOME_PERIOD => #3
Ús de dues macros al trigger "La càrrega de CPU és molt alta":
min(/ca_001/system.cpu.load[,avg1],{$CPULOAD_PERIOD})>{$MAX_CPULOAD}
Veieu que una macro es pot emprar com a paràmetre de la funció de trigger; en aquest exemple, la funció min().
Sincronització de la condició de no disponibilitat de l'agent amb l'interval d'actualització de l'element:
nodata(/ca_001/agent.ping,{$INTERVAL})=1
Centralitzar la configuració de les hores de feina:
1-5,09:00-18:00
;Emprar la macro del prototip d'equip per configurar coses per als equips descoberts:
Veieu macros d'usuari amb context.