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

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} 去替换原型表达式。
就是这个逻辑。
不过它的配置里还有很多其他牛逼高深的东西,上面没有涉及。待以后研究再填坑。

最新文章

  1. 一个完整的TCP连接
  2. IntentService源码分析
  3. [C#]如何使用ThreadPool
  4. angularjs的$http.jsonp跨域的用法
  5. 协处理器,王明学learn
  6. Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性
  7. C#将字符串转换为整型的三种方法的总结
  8. Android布局属性全面剖析
  9. LeetCode解题报告:LRU Cache
  10. 转:CentOS6.3配置yum源
  11. jQuery的Autocomplete插件的远程url取json数据的问题
  12. TC基础使用指南(基于xbeta的TC配置文件)
  13. Java谜题——类谜题(二)
  14. Python中的引号用法总结
  15. 换行符 '\n' 和 回车符 '\r' 的区别?
  16. ajax页面跳转(后台返回的是一个url地址,或者自己传进去的是url地址)
  17. Switch在swift中的使用
  18. angular4 数据绑定
  19. 您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档
  20. 【UOJ347】【WC2018】通道 边分治 虚树 DP

热门文章

  1. Selenium-元素定位与操作
  2. Jenkins部署及邮箱配置
  3. mfc设置鼠标状态OnSetCursor响应函数
  4. tensorflow中张量(tensor)的属性——维数(阶)、形状和数据类型
  5. 关于linux 安装 python pymssql模块
  6. 解决苹果手机Safari浏览器下 字体显示为 蓝色的 问题
  7. bzoj 3091: 城市旅行 LCT
  8. Linux 下使用 ssh 登录局域网其他电脑的方法
  9. 洛谷【P1898】缘分计算
  10. 【转】 Pro Android学习笔记(三四):Menu(5):动态菜单