zoukankan      html  css  js  c++  java
  • 自学Zabbix3.11-宏Macros

    点击返回:自学Zabbix之路

    点击返回:自学Zabbix4.0之路

    点击返回:自学zabbix集锦

    自学Zabbix3.11-宏Macros

    zabbix宏变量让zabbix变得更灵活,它根据一系列预定义的规则替换一定文本模式,而解释器或编译器在遇到宏的时候会自动进行这一模式的替换。zabbix已经内置很多宏。
    变量可以定义在主机、模板以及全局,变量名称类似:{$MACRO},宏变量都是大写的

    变量可以用于如下地方:

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

    1.宏名称

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

    2. zabbix宏变量优先级:

    • 主机宏(checked first) , 为主机的第一级模板(即,直接链接到主机的模板)定义的主机级宏(首先检查)宏
    • 主机模板定义的宏,如果有多个模板,那么按照模板越靠前那么宏的优先级越高
      ......
    • 全局宏(checked last),最后检查

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

    3. 自定义宏

    自定义宏有两种方式:

    • 定义全局宏 Administration → General → Macros,例如宏名称{$SNMP_COMMUNITY},值infinitustest 
    • 定义主机/模板级宏变量,编辑主机或者模板,找到Macros选项卡,定义宏变量

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

    4. 宏的三个实例:

    示例一

         主机SSH服务:

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

    示例二

         主机CPU负载触发器

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

    示例三

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

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

  • 相关阅读:
    [Go] golang http下返回json数据
    [Go] Golang练习项目-邮箱imap网页版客户端工具
    [Go] 提供http服务出现两次请求以及处理favicon.ico
    [Go] 转换编码处理网页显示乱码
    [Go] go转换gbk为utf8
    [Go] golang x.(type) 用法
    [GO] go语言中结构体的三种初始化方式
    [PHP] create_function() 代码注入问题已经被弃用
    [Git] 彻底删除github上的某个文件以及他的提交历史
    [javascript] vuejs的elementui实现父子iframe通信
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/8119972.html
Copyright © 2011-2022 走看看