调通了第一个设备snmp trap

看到这个设备能够trap的OID仍是很多,但愿从最简单的开始。我选择的是风扇。基本流程就是:git

  1. 设置好守护进程,准备接受设备发过来的trap
  2. 在设备内填写trap 目标地址,也就是守护进程所在的电脑的ip
  3. 在设备内激活fan状态改变通知到trap
  4. 反复对设备fan的激活关闭,查看守护进程输出结果

如今开始。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!'复制代码
相关文章
相关标签/搜索