一、.宏介绍

宏是一种抽象概念(Abstraction),它根据一些列预定义的规则替换一定的文本模式,而解释或编译器在遇到宏时会自动进行这一模式替换。类似地,zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本。


二、使用场景

主机宏(HOST)--优先级最高,直接在主机上进行设置

175807x556c7wxt15ej2oa.png


主机模板定义的宏--优先级次之。,如果有多个模板,那么按照模板越靠前那么宏的优先级越高(Template)

180507txaxr5v88ba5nggq.png 

全局宏(checked last)

180607wgzgkf3vk5g7cn7c.png


乐维小tips:,zabbix找一个宏的值,首先检查hosts有没有,如果没有那么找当前主机的第一个模板,如果还不在找第二个模板,一直到最后一个模板,如果还是没有找到那将会使用全局宏。如果全局宏也不存在,那么宏变量不会被替换掉。

宏变量经常用于替代账号、端口、密码等,例如你的某个监控想有用到账号、密码,可以定义为宏,假如下次账号密码有修改,只需要修改宏即可。而不需要每个监控项都去修改账号密码。

宏的命名规范:大写字母、数组、下划线的组合,只能大写字母开头。


三、内置{MACRO}    

不需要加$就可以引用:

zabbix有许多内置的宏,如{HOST.NAME}、{HOST.IP}、{TRIGGER.DESCRIPTION}、{TRIGGER.NAME}、{TRIGGER.EVENTS.ACK}等。

举例部分宏:

180905b3wyifccc5d433rq.png



转自

zabbix实践-宏变量

(出处: 乐维)