調通了第一個設備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!'複製代碼
相關文章
相關標籤/搜索