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: ## 这是一个预处理连接符,这个操作符主要用来将两个符号连接成为一个完整的宏符号.通过下面的代码,可以看到其具 ...
随机推荐
- 使用jsp+javabean完成用户登陆功能
User.java package com.po; public class User implements java.io.Serializable { private String usernam ...
- 【bzoj1876】[SDOI2009]SuperGCD(高精度)
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1876 一道简单的高精度+Stein算法(或者叫辗转相除法)求最大公约数板子题. md还 ...
- java深入探究12-框架之Structs
注意每次修改配置文件后必须项目重启 Structs2=structs1+xwork Struct2框架预先实现了一些功能: 1.请求数据的封装:2.文件上传的功能3.对国际化功能的简化4.文件效验功能 ...
- react列表中,当key改变后发生的事情
Main.jsx export default class Main extends PureComponent { constructor(props) { super(props); this.s ...
- python之算法LOB三人组
一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...
- C++两种字符串传参构造函数
第一种: #include"iostream" #include"string" using namespace std; class Motor{ prote ...
- 使用java代码打开特定网页
第一种方法的代码如下所示: import java.io.File; public class Test04 { public static void main(String[] args) { // ...
- 《RocketMQ 安装和使用》
安装Maven 安装步骤:<Maven的安装.配置及使用入门> http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.htm ...
- 直方图均衡化的 C++ 实现(基于 openCV)
这是数字图像处理课的大作业,完成于 2013/06/17,需要调用 openCV 库,完整源码和报告如下: #include <cv.h> #include <highgui.h&g ...
- ural 2019 Pair: normal and paranormal
2019. Pair: normal and paranormal Time limit: 1.0 secondMemory limit: 64 MB If you find yourself in ...