假设你已经知道【模板-监控项-监控项原型-自动发现规则】之间的关系。(此处应有关系图,待填坑)

1. 添加模板

我新建了一个名叫Dapianzi SNMP Linux的模板,里面添加了已经启动了SNMP服务的云主机。准备对这些云主机配置一些自己定义的,通过自动发现规则生成的监控项。

2. 添加自动发现规则

点击 模板 - 自动发现规则 - 创建发现规则。如图

名称】: 规则名称,通俗易懂就好。
类型】: 可选择SNMP或者Zabbix,数据来源。后面的配置选项会根据这个类型的改变而改变。
键值】: 发现的监控项的key, 貌似有命名限制,不能使用特殊字符。(作用还不是很确定,待填坑)。
SNMP OID】: 这是一个函数discover(param1, param2). 参数2(这里我设置的是laNames也就是cpu load average的名称)是你想要自动发现的snmp object id. 参数1({#SNMPVALUE})是你用来存储这些值的变量。另外有个隐藏变量{#SNMPINDEX}。如图

前面laNames接的 1,2,3 会存储在变量 {#SNMPINDEX}
后面Load-1, Load-5, Load-15 会存储在变量 `{#SNMPVALUE}`` 中
这两个变量会在后面 【监控项原型】中使用到。

SNMP COMMUNITY】: snmp的community ,这里使用宏。
描述】: 通俗易懂描述一下就好。
到这里简单的自动发现规则已经配好了。

3. 配置监控原型

监控原型就是对自动发现规则匹配到的数据进行怎么的处理,使它变成可用的监控项。添加原型的入口:

上面的自动发现规则我们可以知道的信息有:
名称 Load-1 的 index 是 1
名称 Load-5 的 index 是 2
名称 Load-15 的 index 是 3
我们需要监控的是cpu 的3个时间里的 load average,它们在snmp里是这样的:

所以用 UCD-SNMP-MIB::laLoadFloat.{#SNMPINDEX} 可以分别获取到对应的负载。
然后配置监控原型的示例:

名称】: 监控项的名称,这里 $1={#SNMPVALUE} (问我我也不知道为啥)。
类型】: 同上
键值】: 监控项的key, 限制部分非法字符。
SNMP OID】: 把【自动发现】里找到的{#SNMPINDEX}填进来很容易理解。(UCD-SNMP-MIB::laLoadFloat.{#SNMPINDEX} =》laLoadFloat.1;laLoadFloat.2;laLoadFloat.3)
SNMP COMMUNITY】: 同上,使用宏
信息类型】: 获取的值的类型(单位)
应用集】: 为了方便管理

4. 结果

自动发现规则配置完了之后,自动添加了3个监控项:

最新数据显示数据获取正常:

Grafana也能正确读取:

5. 小结

通俗的说呢,
自动发现】会根据你定义的规则去批量查找你想要获取的值(一般是名称name,描述desc,别名alias等)和他们的index索引。
监控原型】根据上一步获取的N个值,循环生成你想要的监控项。生成的规则就是用上一步找到的{#SNMPVALUE}, {#SNMPINDEX} 去替换原型表达式。
就是这个逻辑。
不过它的配置里还有很多其他牛逼高深的东西,上面没有涉及。待以后研究再填坑。

Zabbix监控系统配置之-自动发现规则入门的更多相关文章

  1. zabbix(10)自动发现规则(low level discovery)

    1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些Iterms具有共同的特征,表现为某些特定的参数是变量,而其他设置都是一样的,例如:一个程序有多个端口,而需要对端口配 ...

  2. zabbix模板的自动发现规则(ldd)实现被监控项自动发现

    zabbix模板的自动发现规则(ldd)实现被监控项自动发现 自动发现规则(ldd)用途说明 在zabbix自带的linux模板的自动发现规则中,有一个Mounted filesystem disco ...

  3. zabbix/自动发现规则

      对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...

  4. zabbix mysql自动发现规则

    1.配置mysql,添加监控用的账号,授予查看所有用户线程/连接的权限 GRANT PROCESS ON *.* TO 'zabbix'@'127.0.0.1' identified BY '20c1 ...

  5. Zabbix-设置自动发现规则实例

    一.前文 此篇文章,主要针对自动发现规则中使用snmpv2类型发现 zabbix官方解读,可当参考:   https://www.zabbix.com/documentation/4.0/zh/man ...

  6. Zabbix探索:模板中发现规则的使用

    其实模板的建立只要多看看系统自带的模板内容就清楚了,一目了然,不用做过多解释. 目前使用到的自动发现规则有端口和文件系统的,其他还没有仔细研究. 下面说说遇到的几个问题. 1.Key不能相同.普通项目 ...

  7. zabbix之Low-level discovery(自动发现)

    功能: 自动发现挂载点并自动监控 自动发现网卡并自动监控 创建自动发现挂载点并监控 功能 假如要在monitor_linux模板中创建自动发现挂载点的功能 配置-->模板-->选择模板-- ...

  8. Zabbix网络自动发现规则和自动添加hosts及link模板

    Version: zabbix 3.0 一.配置网络发现规则 Device uniqueness criteria:选择主机名作为唯一标识(Configuation Hosts中显示的NAME) 二. ...

  9. docker部署zabbix并设置自动发现规则

      docker部署zabbix比源码安装简单一些,特此记录: 机器准备: zabbix-server: 192.168.0.150 homeserver zabbix-agent: 192.168. ...

随机推荐

  1. artdialog插件--iframe穿透特性

    使用artdialog可以实现嵌套页面间的通信. 一.引入插件 //artdialog是建立在jquery上面的所以要首先引入jquery <script src="__CLASSTP ...

  2. 英语发音规则---L字母

    英语发音规则---L字母 一.总结 一句话总结:[l]音在词首和词尾的发音不同,/l/+其它音节./l/+元音./l/+/j/称它为清晰/l/,发清晰/l/音时,在下一个音即将出出时舌头离开上齿龈,迅 ...

  3. DBGrideh 实现自动排序

    一.点击标题自动排序 1.在optioneh中设置:AutosortMarking:=True2.设置DbGridEh的属性:(不一定总要设置,与使用的数据连接有关)sortlocal:=True;3 ...

  4. 初识JQuery(1)-选择器

    初识jquery 在学习jquery之前,就有看过一些相关的视频,才知道它是可以写很少的代码就可以完成很多事的.记得第一写轮播图的时候,首先就百度了篇轮播图的实现,当时还不知道自己百度的其实不是原生的 ...

  5. Android数据传递的五种方法汇总

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示,在例 ...

  6. 详细详解One Hot编码-附代码

    机器学习算法无法直接用于数据分类.数据分类必须转换为数字才能进一步进行. 在本教程中,你将发现如何将输入或输出的序列数据转换为一种热编码,以便于你在Python中深度学习的序列分类问题中使用.本教程分 ...

  7. OpenAL播放pcm或wav数据流-windows/ios/android(一)

    OpenAL播放pcm或wav数据流-windows/iOS/Android(一)   最近在研究渲染问题,本文采用openal做pcm和wav数据流播放,并非本地文件,demo是windows的,i ...

  8. LOJ2305 「NOI2017」游戏

    「NOI2017」游戏 题目背景 狂野飙车是小 L 最喜欢的游戏.与其他业余玩家不同的是,小 L 在玩游戏之余,还精于研究游戏的设计,因此他有着与众不同的游戏策略. 题目描述 小 L 计划进行$n$场 ...

  9. category extension

    1 category 分类,只能添加方法,添加的方法成为原来类的一部分,达到扩展类的目的,可以被子类继承 主要给没有源代码的类 添加方法,团队合作项目互不影响,不该动原有类的基础上添加方法 self ...

  10. 问题4:对dict、list、tuple中的元素排序

    一)对字典中元素排序   方法一:利用sorted的key参数进行排序 from random import randint date = {k:randint(0, 20) for k in ran ...