7.Zabbix宏(macros)

宏(macros)是一种抽象,它根据一系列预定义的规则替换一定的文本模式,而解释器或编译器在遇到宏时会自动进行这一行的模式替换。类似的,Zabbix基于宏保存预设文本模式,并且在调用时,将其替换为其中的文本;Zabbix宏(macros)让zabbix变得更加灵活。

宏的名称只能使用大写字母、数字及下划线,其可以应用在 items、descriptions 、trigger名称和表达式、主机接口IP/DNS及端口、discovery机制的SNMP协议的相关信息中。

Zabbix常见的内置宏

内建宏 说明
{HOST.NAME} 主机名
{TRIGGER.NAME} 触发器名称
{HOST.IP} 主机Ip

具体请参考zabbix官网

宏的调用

用户自定义宏调用方式与内建宏调用方式不同,区别如下,用户自定义宏需要添加$,而内建宏却不需要。

用户自定义宏 内建宏
{$MACRO} {MACRO}

为了更强的灵活性,Zabbix还支持在全局、模板或者主机级别使用用户自定义宏(user macro)。他们的优先级:主机 --> 模版 --> 全局,应用范围越小优先级越高。我们可以在某个级别找到后直接使用。

三个宏定义的位置

全局宏

7.Zabbix宏(macros)_第1张图片
图片.png

主机宏

7.Zabbix宏(macros)_第2张图片
图片.png

模板宏

7.Zabbix宏(macros)_第3张图片
图片.png

实例演示

我们定义一个全局宏在管理,应用到httpd监听的80端口
1.创建全局宏

定义一个80端口的宏 HTTP_PORT
7.Zabbix宏(macros)_第4张图片
图片.png

2.调用宏

新加一个item 在监控项里面调用定义的宏{$HTTP_PORT}
7.Zabbix宏(macros)_第5张图片
图片.png

3.验证

查看item名称自动解析成了80
图片.png
查看最近数据也会能回去到80端口的值1
7.Zabbix宏(macros)_第6张图片
图片.png

你可能感兴趣的:(7.Zabbix宏(macros))