看到这个设备能够trap的OID仍是很多,但愿从最简单的开始。我选择的是风扇。基本流程就是:git
如今开始。github
首先准备好trapd,具体作法在此,记得必定使用-v参数,打印具体发过来的trap:spa
https://github.com/1000copy/tbit-guard-snmp
复制代码
把本身的trapd所在电脑的ip地址设置到对应设备的snmptrap配置内命令行
还有必须在telnet命令行内,激活fan状态改变通知,由于对fan的all激活,所以状态变化时,会打印到terminal,也会trap发出到制定的trapd守护进程:code
alarm fan all enable
复制代码
打印出来的varbinds内容不少,看着茫然无须,乱翻手册,看到在芯德的MIB手册内,58页面,也是最后一页,提到了发送trap的格式:cdn
dataUpLinkPort,dataPon, dataOnu, dataPort, dataTrapOID, dataTrapClass,
dataMac, dataTime, dateAlarmLevel, dataValue, dataAlarmType,
dataSynOID
复制代码
再使用Web UI打开风扇,对象
VarBinds内的第10个对象就是DataValue,咱们但愿buffer是一个字符串,值为”Close!“,结果不负期待:blog
{
"oid": "1.3.6.1.4.1.37950.1.1.5.10.13.2.10.0",
"type": 4,
"value": {
"type": "Buffer",
"data": [67,08,11,15,01,33]
}
},
var b = Buffer.from([67,08,11,15,01,33]).toString() // Close!
复制代码
再使用Web UI打开风扇,打印输出的结果:进程
> var b = Buffer.from([79,112,101,110, 33]).toString()
undefined
> b
'Open!'复制代码