一、.宏介绍
宏是一种抽象概念(Abstraction),它根据一些列预定义的规则替换一定的文本模式,而解释或编译器在遇到宏时会自动进行这一模式替换。类似地,zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本。
二、使用场景
主机宏(HOST)--优先级最高,直接在主机上进行设置
主机模板定义的宏--优先级次之。,如果有多个模板,那么按照模板越靠前那么宏的优先级越高(Template)
全局宏(checked last)
换句话说,zabbix找一个宏的值,首先检查hosts有没有,如果没有那么找当前主机的第一个模板,如果还不在找第二个模板,一直到最后一个模板,如果还是没有找到那将会使用全局宏。如果全局宏也不存在,那么宏变量不会被替换掉。
宏变量经常用于替代账号、端口、密码等,例如你的某个监控想有用到账号、密码,可以定义为宏,假如下次账号密码有修改,只需要修改宏即可。而不需要每个监控项都去修改账号密码。
宏的命名规范:大写字母、数组、下划线的组合,只能大写字母开头。
三、内置{MACRO}
不需要加$就可以引用:
zabbix有许多内置的宏,如{HOST.NAME}、{HOST.IP}、{TRIGGER.DESCRIPTION}、{TRIGGER.NAME}、{TRIGGER.EVENTS.ACK}等。
举例部分宏:
转自
小白入门_Zabbix实践-宏变量
(出处: 乐维论坛)