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"

主机或模板级别的宏:编辑相应主机或模板的属性即可
关于用户自定义宏可参考zabbix官方文档:
https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location
Additional support for user macros部分
宏的级别:
全局:定义全局宏,全局定义
模板:定义模板宏,在模板上定义
主机:定义主机宏,在主机上定义
宏的替换次序:
主机在使用宏上:
主机-->模板-->全局(查找顺序,优先级顺序:主机-->模板-->全局)
先在主机上查找,如果主机没有定义,然后在模板上查找,如果仍然没有定义,在全局查找
首先是主机级别的宏;
其次是当前主机上一级模板中(直接链接至主机的模板)的宏,多个一级模板按其ID号排序;
在接着是二级模板(模板链接的模板)中的宏;而后依次类推;
最后检查的是全局宏;
zabbix如果无法查找到某主机定义使用的宏,则不会对其进行替换操作。
Macros使用示例:
在主机级别定义一个名为{$CPUMAXSWITCHES}的宏,以定义当前主机所接受的CPU上下文切换的合理次数

在trigger中使用该宏变量:

zabbix上的宏(macro)介绍的更多相关文章
- [易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro]
[易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro] 实用知识 宏Macro 我们今天来讲讲Rust中强大的宏Macro. Rust的宏macro是实现元编程的强大工具. ...
- 关于宏MACRO,我们需要知道的事
一.先从最宏观的角度来了解宏,这里的宏观角度是指程序的运行流程: 1,提交代码后,SAS先把代码读取储存到堆栈中: 2,用文本扫描插件来扫描堆栈中的代码,从上到下,从左到右: 3,扫描到一个分号,则编 ...
- 如何在Zabbix上安装MySQL监控插件PMP
PMP,全称是Percona Monitoring Plugins,是Percona公司为MySQL监控写的插件.支持Nagios,Cacti.从PMP 1.1开始,支持Zabbix. 下面,看看如何 ...
- 25 Zabbix系统数据表结构介绍
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...
- flask第30篇——宏macro和import标签
宏是Jinja2特有的,像Django则没有这个. 先新建一个项目macroDemo: 然后在templates文件夹中新建index.html文件,并在代码中返回渲染后的文件: 然后回到index. ...
- Flask基础(15)-->模板代码的复用【宏(Macro)、继承(Block)、包含(include)】
宏 对宏(macro)的理解: 把它看作 Jinja2 中的一个函数,它会返回一个模板或者 HTML 字符串 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用 需要在多处重 ...
- 获取zabbix上所有主机的IP和主机名
#coding:utf-8 #获取zabbix上所有主机的IP和主机名 import requests import json import csv import time def get_token ...
- zabbix上添加交换机监控记事
zabbix上添加交换机监控记事 第一次使用zabbix来添加监控华为s5720交换机,根本找不到头绪,像个无头的苍蝇一样的百度来处理,结果都没有任何效果,给自己增加了很多痛苦和心烦,增加不少 ...
- C语言的宏macro的使用
C's Macro Introduction 1.The Connect Macros: ## 这是一个预处理连接符,这个操作符主要用来将两个符号连接成为一个完整的宏符号.通过下面的代码,可以看到其具 ...
随机推荐
- 请求静态文件,返回http状态码405,not allowed
昨天在首页加了一个链接,点击这个a标签,会进入http://121.43.68.40/boxpro/template/addsite.pdf,测试环境完全没有问题,上传到正式服务器之后,点击A标签,死 ...
- mini2440移植uboot 2014.04(五)
代码上传到github上:https://github.com/qiaoyuguo/u-boot-2014.04-mini2440 前几篇博文: <mini2440移植uboot 2014.04 ...
- iOS清除缓存功能开发
在APP开发中,大量的图片或消息占用系统内存,造成一堆垃圾信息,所以开发清除缓存功能就显得必不可少了. 代码段1:获取文件的大小 - (long long) fileSizeAtPath:(NSStr ...
- Spring-data-jpa常用方法
- IEnumerable的一些基本方法
在说明用法之后,先要弄点数据. class Product { public int ID { get; set; } public string Name { get; set; } public ...
- freemarker内建函数介绍
Sequence的内置函数1.sequence?first 返回sequence的第一个值.2.sequence?last 返回sequence的最后一个值.3.sequence?reverse 将s ...
- 添加nginx服务到service的过程
Linux命令service - 系统服务管理(转) 用途说明 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等. ...
- C#将字符转换成utf8编码 GB321编码转换
public static string get_uft8(string unicodeString) { UTF8Encoding utf8 = new UTF8Encoding(); Byte[] ...
- 斯特林公式求N!
n!的长度为 ll ans = log10(2*pi*n)/2 + n*(log10(n/exp(1.0)))+1;
- javascript语言历史
起初,web站点事实上只不过是一个静态的HTML文档集,这些文档之间仅依靠一些简单的超链接(Hyperlinks)绑定在一起. 但很快,随着Web业务的快速普及和增长,网站管理者越来越希望自己所创建的 ...