snmp是一種用于網(wǎng)絡(luò)管理的協(xié)議,它可以讓管理系統(tǒng)(NMS)和被管理設(shè)備(如交換機)之間交換信息。被管理設(shè)備上運行著一個snmp代理,它負責(zé)響應(yīng)NMS的請求,以及向NMS發(fā)送告警信息(稱為snmp trap)。snmp代理維護著一個管理信息庫(MIB),其中定義了設(shè)備上的各種管理對象,如端口狀態(tài)、流量統(tǒng)計、poe功率等。每個管理對象都有一個唯一的對象標(biāo)識符(OID),用于標(biāo)識該對象。
要使用snmp獲取poe供電數(shù)據(jù),首先需要知道設(shè)備支持的poe相關(guān)的MIB。
一種常見的標(biāo)準(zhǔn)MIB是RFC3621定義的POWER-ETHE.NET-MIB,它的OID是iso.3.6.1.2.1.105。這個MIB包含了一些表格,用于描述設(shè)備上的poe端口、poe電源、poe功率分配等信息。例如,pethMAInPseTable是一個表格,用于列出設(shè)備上的所有poe電源,每個電源都有一個索引號(pethMainPseGroupIndex),以及一些屬性,如最大輸出功率(pethMainPsePower)和當(dāng)前輸出功率(
pethMainPseConsumptionPower)。
另一個表格是pethPsePortTable,用于列出設(shè)備上的所有poe端口,每個端口都有一個索引號(由兩個數(shù)字組成,分別表示電源索引和端口索引),以及一些屬性,如端口狀態(tài)(pethPsePortAdminEnable)、端口類型(pethPsePortType)、端口功率需求(pethPsePortPowerDemand)和端口功率消耗(
pethPsePortPowerConsumption)等。
假設(shè)我們要獲取設(shè)備上第一個電源的第三個端口的poe功率消耗,我們可以使用以下命令:
snmpget -v 2c -c public <device_ip> iso.3.6.1.2.1.105.1.3.1.1.10.1.3
其中-v 2c表示使用snmp版本2c,-c public表示使用團體名public(相當(dāng)于密碼),<device_ip>表示設(shè)備的IP地址,
iso.3.6.1.2.1.105.1.3.1.1.10.1.3表示pethPsePortPowerConsumption對象的OID,后面跟著兩個數(shù)字表示電源索引和端口索引。如果成功執(zhí)行,該命令會返回一個值,表示該端口的功率消耗,單位是毫瓦。
這就是一個使用snmp獲取poe供電數(shù)據(jù)的實際例子。當(dāng)然,不同的設(shè)備可能支持不同的MIB或OID,因此在使用snmp之前,需要查看設(shè)備的文檔或MIB文件,以確定正確的OID和參數(shù)。