zabbix用户宏变量详解macro

    zabbix宏变量让zabbix变得更灵活,变量可以定义在主机、模板以及全局,变量名称类似:{$MACRO},宏变量都是大写的。认识了宏变量,你会感叹zabbix越发的强大。

    变量可以用于如下地方:

item名称

item key参数

触发器名称和描述

触发器表达式

其他地方

宏名称


宏变量名称定义只允许后面包含后面的字符: A-Z , 0-9 , _ , .

zabbix宏变量优先级:


主机宏(checked first)

主机模板定义的宏,如果有多个模板,那么按照模板越靠前那么宏的优先级越高.


全局宏(checked last)

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


自定义宏


定义全局宏, Administration → General → Macros,例如宏名称${TTLSA_SITE},值www.ttlsa.com.

定义主机/模板级宏变量,编辑主机或者模板,找到Macros选项卡,定义宏变量

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

宏变量使用实例


示例一

主机SSH服务:


net.tcp.service[ssh,{$SSH_PORT}]


如果你监控的ssh端口可能会有不同,那么你只需要定义host级别宏变量SSH_PORT


示例二

主机CPU负载触发器


{ca_001:system.cpu.load[,avg1].last(0)}>{$MAX_CPULOAD}


例如有三台主机A\B\C,A主机定义的MAX_CPULOAD为1,B定义的MAX_CPULOAD为2,C定义MAX_CPULOAD为3,这三台link同一个模板即可。


示例三

主机CPU负载触发器(使用2个宏)


{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}

宏可以作为function的一个参数。


文章转载:http://www.ttlsa.com/zabbix/zabbix-user-macro/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值