一、前文
此篇文章,主要针对自动发现规则中使用snmpv2类型发现
zabbix官方解读,可当参考:
https://www.zabbix.com/documentation/4.0/zh/manual/discovery/low_level_discovery/snmp_oids
二、情景设定
1.环境:centos 7 + zabbix 4.0.2
2.模板里设置自动发现规则,应用到主机,让其自动发现网络设备的cisco交换机的内存使用率情况
三、自动发现目的
基于第二步的情景设定,可知自动发现,可通用于不同的网络设备,假如有些设备只有一块内存,假如有些设备有三块内存(3台设备堆叠),通过共用同一套发现规则,皆可被发现。
四、设置模板的自动发现规则
2.1 点击【配置】--》【模板】--》自己预先定义好的模板-【思科网络设备模板】-》【自动发现】--》右上角【创建发现规则】
2.2 打*号都要填写
#名称: 规则名字 #类型 选择snmpv2客户端 #键值 因为是snmpv2的类型,所以在此只要填写唯一不冲突就可以 #SNMP OID 固定模式discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,],以上图为例:{#MEMORYUSED}是宏,可以理解是变量名,
对应的值来自于1.3.6.1.4.1.9.9.109.1.1.1.1.12这个OID采集到值,可参考官方文档,{#SNMPINDEX}是默认生成的,常用
此处注意点:{#MACRO1}定义一定要大写!大写!大写!
#SNMP community 填入snmp的团体字,也可以是用户自定义的宏 #更新间隔 #2m表示2分钟,也可以是30s,1h之类的
五、设置监控项原型
基于第四步创建完发现规则,点击对应的发现规则里的【监控项原型】。
创建监控项原型的目的是:自动发现规则获得关键变量,如上面的{#MEMORYUSED};监控项原型是借助获得的关键变量,加上监控项前缀,生成各式各样的监控项(item)
点击右上角的【创建监控原型】,填写带*号选项
#名称 到时会生成监控项的名字{#SNMPINDEX}为变量,用于区分不同内存块的名字 #类型 选择SNMPv2客户端 #键值 cpmCPUMemoryUsed[{#SNMPINDEX}],要填写唯一值,因为{#SNMPINDEX}为宏,即变量,所以是唯一值 #SNMP OID 要获取到对应的值 #SNMP community 填写团体字或者自定义宏 #单位 此处填写B,而此oid采集到单位是KB,因此需要再[进程]选项里自定义倍数 ,参数1024倍,点击添加
六、将模板应用到主机
主机就会通过自动发现规则+监控项原型,生成对应的监控项
应用模板步骤:点击【配置】--》【主机】--》主机名【QJ-W-3850-2F-POE】
点击进去后,选择【模板】--》【选择】--》【思科网络设备模板】--》【添加】--》【更新】
等候设定的监控阈值2分钟,点击【主机】--》找到主机名QJ-W-3850-2F-POE的【监控项】--》点击进去就看到如下图,状态为已启用,便是正常采集