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