引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏

模板

1、创建模板

  • 每一个主机的监控项都很多,一个一个的添加实在是太头疼了,更何况,可能不止一个主机。可以把一个 redis 的监控项添加进一个模板里,这样更方便于我们以后的添加。
  • 具体操作:进入 配置 ---> 模板 ---> 选择右上角创建模板

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第1张图片
  • 填写完以后,点击下方的添加即可。
  • 基于组过滤,就能看到定义的模板:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第2张图片
  • 可以向里面添加应用集、监控项、触发器、图形等等,添加完成以后,后期再有主机需要添加就直接套用模板即可。
  • 需要注意的一点是,现在添加的是模板,所以不会立即采用数据,只有链接到主机上以后,才会真正生效。

2、模板的导入与导出

  • 可以直接导入一个模板,在互联网上可以找到很多,导入的步骤如下:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第3张图片

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第4张图片
  • 创建好的模板也可以导出为文件:
  • 任意选中一个准备好的模板,然后页面的最下方就有导出按钮:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第5张图片

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第6张图片
  • 就可以非常方便的进行应用了

3、模板的应用

  • 进入 配置 ---> 主机 ---> node1 ---> 模板,选择要添加的模板了:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第7张图片

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第8张图片
  • 点击更新了。成功链接至模板,主机数据就会更新了:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第9张图片

注意:

  • 一个主机可以链接多个模板,但尽量不要让一个指标被采样两次。
  • 如果有多个主机,同时这些主机也在一个主机组里,这样的话,只需要在这个主机组里添加模板,就能够让在主机组里的所有主机进行监控

4、移除模板链接

  • 当一个主机的模板不想要用了,可以移除模板链接,
  • 具体操作步骤:进入 配置 ---> 主机 ---> node1 ---> 模板,可以把不需要的模板移除:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第10张图片
  • 删除试试看,移除并清理以后,点击更新。就会自动跳转至如下界面:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第11张图片
  • 模板已经被移除

宏(macro)

1、简介

  • 宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式,而解释器或编译器在遇到宏时会自动进行这一模式替换。类似地,zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本。
  • zabbix有许多内置的宏,如{HOST.NAME}、{HOST.IP}、{TRIGGER.DESCRIPTION}、{TRIGGER.NAME}、{TRIGGER.EVENTS.ACK}等。  
  • 详细信息请参考官方文档

2、级别

宏一共有三种级别,分别是全局宏、模板宏、主机宏。不同级别的宏的适用范围也不一样。

  • 全局宏也可以作用于所有的模板宏和主机宏,优先级最低。
  • 模板宏则可以作用于所有使用该模板的主机,优先级排在中间。
  • 主机宏则只对单个主机有效,优先级最高。

3、类型

  • 宏的类型分为系统内建的宏和用户自定义的宏。
  • 为了更强的灵活性,zabbix还支持在全局、模板或主机级别使用用户自定义宏(user macro)。
  • 系统内建的宏在使用的时候需要{MACRO}的语法格式,用户自定义宏要使用{$MACRO}这种特殊的语法格式。
  • 宏可以应用在item keys和descriptions、trigger名称和表达式、主机接口IP/DNS及端口、discovery机制的SNMP协议的相关信息中……
  • 宏的名称只能使用大写字母、数字及下划线
  • 进一步信息请参考官方文档。

4、定义一个宏

  如果想要在监控项(items)上使用宏,就要先去定义一个宏,然后去创建监控项,直接引用定义好的宏即可。具体操作步骤:

1、定义全局宏

  • 进入 管理 ---> 一般 ---> 右上角选择宏

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第12张图片

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第13张图片
  • 全局宏就添加好了

2、定义监控项,调用宏

  • 进入 配置 ---> 主机 ---> 所有主机 ---> 监控项 ---> 右上角创建监控项

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第14张图片
  • 填写完成以后,点击添加。看到这个调用宏的监控项已经添加成功:

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第15张图片
  • 查看监控项现在的状态:进入 监测中 ---> 最新数据

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第16张图片
  • 把服务停掉。就会变成 down 的状态
[root@node1 ~]# systemctl stop redis

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第17张图片
  • 发现监控项是可以正常使用的。

3、修改宏

如果把 node1 节点上的 redis 服务监听端口手动改掉,定义的监控项就不能正常使用了,这样的话,就需要去修改宏。因为只是个例,所以我们不需要去修改全局宏,只用修改模板宏或者主机宏就可以了。

模板宏和主机宏的不同修改操作:

  • 模板宏:模板宏的修改,配置 ---> 模板 ---> redis stats(相应的模板) ---> 宏

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第18张图片
  • 点击添加就可以了。
  • 主机宏:主机宏的修改,配置 ---> 主机 ---> 所有主机 ---> node1 ---> 宏

引用另一模板的宏_zabbix-基础系列(六)-zabbix监控过程详解之模板和宏_第19张图片
  • 点击添加就可以了。

你可能感兴趣的:(引用另一模板的宏,模板使用自定义类型,模板应用到多个主机,zabbix)