看到這個設備能夠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!'複製代碼