zabbix用户宏变量详解macro(40)

凉白开 zabbix465,38616字数 902阅读3分0秒阅读模式

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

变量可以用于如下地方:文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

  • item名称
  • item key参数
  • 触发器名称和描述
  • 触发器表达式
  • 其他地方

宏名称

宏变量名称定义只允许后面包含后面的字符: A-Z , 0-9 , _ , .文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

zabbix宏变量优先级:

  • 主机宏(checked first)
  • 主机模板定义的宏,如果有多个模板,那么按照模板越靠前那么宏的优先级越高
  • 全局宏(checked last)

话句话说,zabbix找一个宏的值,首先检查hosts有没有,如果没有那么找当前主机的第一个模板,如果还不在找第二个模板,一直到最后一个模板,如果还是没有找到那将会使用全局宏。如果全局宏也不存在,那么宏变量不会被替换掉。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

自定义宏

定义全局宏, Administration → General → Macros,例如宏名称${TTLSA_SITE},值www.ttlsa.com.文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

定义主机/模板级宏变量,编辑主机或者模板,找到Macros选项卡,定义宏变量文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

宏变量经常用于替代账号、端口、密码等,例如你的某个监控想有用到账号、密码,可以定义为宏,假如下次账号密码有修改,只需要修改宏即可。而不需要每个监控项都去修改账号密码。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

宏变量使用实例

示例一文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

主机SSH服务:文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

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

如果你监控的ssh端口可能会有不同,那么你只需要定义host级别宏变量SSH_PORT文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

示例二文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

主机CPU负载触发器文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

{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同一个模板即可。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

示例三文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

主机CPU负载触发器(使用2个宏)文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

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

宏可以作为function的一个参数。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/ 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-user-macro/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 14/08/2014 01:00:27
  • 转载请务必保留本文链接:https://www.ttlsa.com/zabbix/zabbix-user-macro/
  • Linux
  • macro
  • nagios
  • zabbix
  • 宏变量
  • 监控
评论  4  访客  3
    • 阳光总在风雨后
      阳光总在风雨后 9

      博主,请教个问题。
      我有个需求,zabbix发送告警短信的同时,能够把可以接受到这个告警的人员名单也显示在告警短信中。我定义了一个全局宏,例如{$DUMP} => bob,然后在action 告警内容中引用了宏{$DUMP},但是收到的短信提示中,宏是空的,显示为{}。

      • vmtoa
        vmtoa 9

        server和proxy间的数据库是怎么同步的?

      评论已关闭!