通过SNMP监控设备电源模块状态
本文主要介绍如何从零开始配置SNMP监控,采集设备电源模块状态的操作步骤。
本文以配置电源模块为例,介绍通过SNMP监控设备电源模块状态的操作步骤;风扇状态监控、温度监控等操作步骤大致相同,仅需要把本文中监控项名称、OID值替换即可。
前提条件
操作步骤
步骤一:创建监控项,请参见监控项管理。
登录云网管控制台。
在控制台左侧菜单栏单击网络监控 > 监控项管理。
单击列表上方的创建监控项按钮,选择创建单设备监控项。
在打开的创建监控项页面,输入创建监控项所需的基础信息,例如监控项名称、描述、采集方式等。
为监控项定义一个全局唯一的监控项名称,如Power_State_Monitor。
输入监控项描述,详细介绍当前监控项的意图,方便后期维护,如“通过SNMP监控设备电源模块状态,返回状态码为2时代表正常”。
选择监控项生效的安全域,如CMN-01,代表从CMN-01安全域的探针发起采集,采集范围是安全域为CMN-01的设备。
选择设备形态:如网络设备,则代表监控项采集范围为指定安全域下的网络设备。
选择SNMP采集类型,可选值为get、getNext、getBulk、getWalk、snmpwalk。这里选择snmpwalk。
打开启用状态,只有在监控项启用时才会发起采集。
编写解析代码,参考如下,可根据实际情况修改:
/** snmp 采集到的output格式如下,所以解析 data["output"]["results"] {"output":{"results":[{"value":"22","oid":"1.3.6.1.4.1.4881.1.1.10.2.1.1.43.1.4"},{"value":"33","oid":"1.3.6.1.4.1.4881.1.1.10.2.1.1.43.1.5"}]}} **/ function parse(output){ var result = {}; var data = JSON.parse(output); if(data.output.results.length == 0){ return JSON.stringify(results); } data.output.results.forEach(function(kv,index){ var value = kv["value"]; result["power_"+index] = value; //大部分网络设备都存在多个电源模块,这里采用索引方式生成power_0,power_1,power_2等数据项 }); //返回JSON格式字符串,该示例中返回结果为 {"power_0":"2","power_1":"2"} return JSON.stringify(result); }
说明因通过SNMP采集设备电源模块状态的OID是私有的,各厂商各型号OID和输出内容存在差异,所以这里的解析代码需要根据实际输出自行编写,上述解析代码仅供参考。
【可选】添加告警规则,请参见监控项管理。
步骤二:部署监控项,请参见部署监控项。
在控制台左侧菜单栏单击网络监控 > 部署监控项。
从下拉列表中选择步骤一中创建的监控项:Power_State_Monitor,可根据监控项名称模糊搜索。
系统将自动展示出已经生成的厂商和型号列表,勾选监控项需要生效的型号条目,如期望监控厂商为Juniper,型号为MX480的设备,可勾选型号前的多选框。
针对SNMP监控项,需要对每个厂商型号设置OID,因为用到的OID可能是私有的,各个厂商可能存在差异。本文以Juniper的MX480为例,填入1.3.6.1.4.1.2636.3.1.13.1.6.2
单击提交按钮,保存部署配置,此时系统会将配置下发到探针,开始采集。
步骤三:查看告警状态,请参见告警状态视图。
在控制台左侧菜单栏单击网络监控 > 告警状态视图。
左侧选择对应的物理空间,右侧即可展示出该物理空间下所有已经采集的监控项和设备的状态,如需查看指定设备或指定监控项的监控状态,可在页面上方的条件搜索栏中输入对应的搜索条件,单击查询按钮进行过滤。
单击详情按钮,可跳转到详情页面查看详细信息。
单击设备视图按钮,可跳转到设备视图,该页面可总览指定设备的所有监控数据及历史趋势。