zoukankan      html  css  js  c++  java
  • zabbix上的宏(macro)介绍

    宏:macro,预设的文本替换模式:

    宏是一种抽象概念(Abstraction),它根据一些列预定义的规则替换一定的文本模式,而解释或编译器在遇到宏时会自动进行这一模式替换。类似地,zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本。

     

    内置{MACRO}    不需要加$就可以引用:

    zabbix有许多内置的宏,如{HOST.NAME}、{HOST.IP}、{TRIGGER.DESCRIPTION}、{TRIGGER.NAME}、{TRIGGER.EVENTS.ACK}等。

    关于系统内建宏可参照zabbix官方文档:

    https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location

    1 Macros supported by location部分

     

    自定义{$MACRO}  需要加$才能引用:

    注意:在调用和定义时都需要加$

    为了更强的灵活性,zabbix还支持在全局、模板或主机级别使用用户自定义宏(user macro)

    用户自定义宏使用"{$MACRO}"这种特殊的语法格式

    宏可以应用在item keys和descriptions、trigger名称和表达式、主机接口IP/DNS及端口、discovery机制的SNMP协议的相关信息中等。

    宏的名称只能使用大写字母、数字及下划线

    用户自定义宏,有以下两种途径:

        全局宏:"Administrator-->General-->Macros"

    wKioL1kSwbLhSLr0AAK9rhk06MM763.jpg

    主机或模板级别的宏:编辑相应主机或模板的属性即可

    关于用户自定义宏可参考zabbix官方文档:

    https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location

    Additional support for user macros部分

     

    宏的级别:

    全局:定义全局宏,全局定义

    模板:定义模板宏,在模板上定义

    主机:定义主机宏,在主机上定义

     

    宏的替换次序:

    主机在使用宏上:

    主机-->模板-->全局(查找顺序,优先级顺序:主机-->模板-->全局)

    先在主机上查找,如果主机没有定义,然后在模板上查找,如果仍然没有定义,在全局查找

    首先是主机级别的宏;

    其次是当前主机上一级模板中(直接链接至主机的模板)的宏,多个一级模板按其ID号排序;

    在接着是二级模板(模板链接的模板)中的宏;而后依次类推;

    最后检查的是全局宏;

    zabbix如果无法查找到某主机定义使用的宏,则不会对其进行替换操作。

    Macros使用示例:

    在主机级别定义一个名为{$CPUMAXSWITCHES}的宏,以定义当前主机所接受的CPU上下文切换的合理次数

    wKioL1kSwRSS2IRfAANffN1lE6Y308.jpg

    在trigger中使用该宏变量:

    wKiom1kSwRXDtKLSAANLLFMhxS4134.jpg

  • 相关阅读:
    代理模式和策略模式的区别
    代理模式vs适配器模式vs外观模式 转
    装饰模式与代理模式的区别(转载)
    用Delphi实现动态代理(2):设计说明  转
    Java静态内部类的介绍
    非常好的Java反射例子
    Java多线程中的锁机制
    Java多线程共享数据、同步、通信
    Java程序运行超时后退出解决
    Java安全:运用加密技术保护Java源代码
  • 原文地址:https://www.cnblogs.com/wangmo/p/9541572.html
Copyright © 2011-2022 走看看