登录摄像头Web页面 - 配置 - 网络 - 高级配置 - SNMP
启用SNMPv2c
设置读团体名
设置写团体名
设置trap地址为zabbix地址
保存
创建主机
1 配置主机
主机名称:输入摄像头主机名
可见名称:别名
群组:选择群组
Interfaces:使用SNMP
IP地址 摄像头地址
端口 默认161
version SNMPv2
团体名使用宏
2 切换到模板页 添加模板“Hikvision camera by HTTP”
Hikvision camera by HTTP模板手册
3 切换到宏页 添加宏
{$SNMP_COMMUNITY} :读团体名
{$USER} :摄像头用户名
{$PASSWORD} : 摄像头密码
测试
1 切换到自动发现规则页 勾选规则并执行
2 自动发现监控项成功
3 读取数据成功
配置自定义SNMP监控
1 打开MIB浏览器 输入IP地址 点高级选项
2 配置端口 团体名 版本
3 OID输入.1 类型选择GetSubtree点Go执行 读取到数据
4 进入主机监控项页 点创建监控项
5 根据前面获取到的OID 配置监控项页
6 回到监控项页 选择刚创建的监控项 点执行
7 查看最新数据读取成功
———————————————
在使用Zabbix监控网络设备的时候,经常会遇到这样的工作场景:需要监控一个某个OID下的所有的对象,如下图监控华三交换机的电源模块的状态。 要监控的OID都有拥有同一个父OID,只是最后一位的数字不同。
这时候我们最好使用LLD功能,让Zabbix自动创建监控的item。
下面我们就说说怎么用LLD来做这个事儿。
目的:通过LLD能够自动创建item,避免繁琐对手动一个一个创建item。同时带来的一个好处是,即使被监控对对象发生变化(比如上图对4个子OID某一天变成了10个),ZBX也能够自动匹配出变化后对数据。
第一步,在Zabbix中创建LLD规则
各个字段解释:
名称:就是这个LLD规则的名字,无需多说
类型:根据SNMP版本进行选择,我用的V2
键值:因为zabbix要求每一个监控项都要有唯一对key,所以我们此处填写一个,有意义即可。注意:这个值和我们最终想要自动创建对对item不是一回事,所以不需要太注意,自己看懂就行。
主机接口:一般是默认的,设备对IP和接口信息。
SNMP community: 团体名
SNMP OID:最重要的其实就是这个字段
Zabbix在系统内部已经内置了一个自动发现函数discovery,这个函数有两个 参数,参数一是{#SNMPVALUE},通过在轮训参数二这个 OID之后获得的数据,参数二是OID(父级 别OID)。
按照图片进行配置之后,实现了一个什么效果呢?
Zabbix会通过调用discovery函数,轮训参数二的OID(理解为用命令snmpwalk 参数二OID就可以),将获取到的结果,赋值给{#SNMPVALUE}。
所以这个步骤配置完成之后,{#SNMPVALUE}的结果就类似于一个数组,里面存有所有子OID和对应数据。
现在我们已经通过步骤一拿到了类似于snmpwalk的结果并赋值给了{#SNMPVALUE}。那怎么把这个结果进行处理,让系统获得子OID命名对item,这就进入到item原型配置界面了。如下:
在咱们创建对LLD规则中新建 “监控项原型”。这是就会有人问,啥叫监控项原型?我语文不好,给解释下呗。好,你可以这样理解,我们不是通过LLD自动创建item吗,那item按照什么格式创建啊?比如,创建出来对item名称是啥, key又是啥 , item分组分到哪里???这些信息就叫做,监控项原型。
各个字段说明:
名称:就是LLD要创建对item的name
类型:根据版本选择,不多说了
键值:就是创建对item对key咋定义的
SNMP OID:这个oid和上个图片中的oid有啥区别?
这样理解,步骤一需要填写的是父OID,因为在上图中我们需要根据规则轮训父oid的所有数据,得到了所有子oid和对应对值。
而在这个界面我们需要定义 “父oid. index” 这样一个东西,{#SNMPINDEX}是zabbix内置变量,就是咱们snmpwalk 父oid之后结果的最后一位。
所以到这里就知道了,“父oid. index” 其实就是咱们定义的子OID的表达式
稍等片刻,最后得到如下的效果:
所以总结一下就是,通过步骤一获得所有父节点下的数据(所以步骤一填写父节点OID),通过步骤二定义item原型,对步骤一拿到对数据进行切分处理。(所以步骤二是子节点对OID),这里稍微注意一下Zabbix对内置函数和变量(disvovery,{#SNMPVALUE},{#SNMPINDEX})就可以轻松理解使用LLD这个功能了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)