本帖最后由 tingsun 于 2018-5-23 09:46 编辑 hi
大家好,今天给大家分享一个关于IOS XE(ISR4K/ASR1K)系统如何用OID读取CPU/Memory/Power/Fan/Temperature.
很多客户在部署网管系统时,对IOS系统还是比较熟悉的,自己找一个或者开个CASE TAC帮忙找一个电源的或者风扇的OID,直接部署到网管上就很容易的读到风扇或者电源的状态.但是在ISR4K或者ASR1K这2个平台上,就没那么容易了.
拿ISR4K举例:
CPU:5 seconds:Steven$ snmpwalk -v 2c -c cisco 10.124.36.43
1.3.6.1.4.1.9.2.1.56
SNMPv2-SMI::enterprises.9.2.1.56.0 = INTEGER: 2
1 min:
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43
1.3.6.1.4.1.9.2.1.57
SNMPv2-SMI::enterprises.9.2.1.57.0 = INTEGER: 2
5 min:
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43
1.3.6.1.4.1.9.2.1.58
SNMPv2-SMI::enterprises.9.2.1.58.0 = INTEGER: 2
ISR4K#show processes cpu CPU utilization for five seconds: 2%/0%; one minute: 2%; five minutes: 2%---------------------------------------------------------------------------------------------------------Memory:Steven$ snmpwalk -v 2c -c cisco 10.124.36.43
1.3.6.1.4.1.9.9.48.1.1.1
SNMPv2-SMI::enterprises.9.9.48.1.1.1.2.1 = STRING: "Processor"
SNMPv2-SMI::enterprises.9.9.48.1.1.1.3.1 = INTEGER: 0
SNMPv2-SMI::enterprises.9.9.48.1.1.1.4.1 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.48.1.1.1.5.1 = Gauge32: 361894208
Used
SNMPv2-SMI::enterprises.9.9.48.1.1.1.6.1 = Gauge32: 1326466576
Free
SNMPv2-SMI::enterprises.9.9.48.1.1.1.7.1 = Gauge32: 1048575908
LargestFree
ISR4K#show processes memory Processor Pool Total: 1688360784 Used: 361893472 Free: 1326467312lsmpi_io Pool Total: 6295128 Used: 6294296 Free: 832---------------------------------------------------------------------------------------------------------
CPU和Memory跟之前的IOS系统区别不大,基本一个OID就能解决问题了.
主要区别在于风扇和电源.Fan:
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 1.3.6.1.2.1.47.1.1.1.1.2
SNMPv2-SMI::mib-2.47.1.1.1.1.2.44 = STRING: "RPM: fan0"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.45 = STRING: "RPM: fan1"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.46 = STRING: "RPM: fan2"
SNMPv2-SMI::mib-2.47.1.1.1.1.2.47 = STRING: "RPM: fan3"
通过这个OID会读取所有物理部件的名字,包括电源,风扇等,那怎么确认这几行输出是代表风扇呢?
ISR4K#show platform
P2 ACS-4450-FANASSY ok 00:08:19 -------------------- P2代表风扇
ISR4K#show environment all
RPM: fan0 P2 Normal 4561 RPM --------------------可以看到名字和OID输出的名字是一样的(RPM: fan0)
RPM: fan1 P2 Normal 4573 RPM
RPM: fan2 P2 Normal 4559 RPM
RPM: fan3 P2 Normal 4592 RPM
P: pwr P2 Normal 5 Watts
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 mib-2.47.1.1.1.1.7 ----------------怎么确认下面的输出对应的是P2,可以看最后一位数字(44,45,46,47),因为跟之前是要对应的,所以直接找出最后一位相同的就ok.
SNMPv2-SMI::mib-2.47.1.1.1.1.7.44 = STRING: "RPM: fan0 P2/0"
SNMPv2-SMI::mib-2.47.1.1.1.1.7.45 = STRING: "RPM: fan1 P2/1"
SNMPv2-SMI::mib-2.47.1.1.1.1.7.46 = STRING: "RPM: fan2 P2/2"
SNMPv2-SMI::mib-2.47.1.1.1.1.7.47 = STRING: "RPM: fan3 P2/3"
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 enterprises.9.9.91.1.1.1.1.1
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.44 = INTEGER: 10(通过下面的链接可以得到10代表RPM)
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.45 = INTEGER: 10
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.46 = INTEGER: 10
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.47 = INTEGER: 10
http://snmp.cloudapps.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=enterprises.9.9.91.1.1.1.1.1&translate=Translate&submitValue=SUBMIT&submitClicked=true
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 enterprises.9.9.91.1.1.1.1.4
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.44 = INTEGER: 4528
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.45 = INTEGER: 4563
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.46 = INTEGER: 4486
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.47 = INTEGER: 4596
然后组合这些输出:
RPM: fan0 RPM: fan0 P2/0 RPM 4528
RPM: fan1 RPM: fan1 P2/1 RPM 4563
RPM: fan2 RPM: fan2 P2/2 RPM 4486
RPM: fan3 RPM: fan3 P2/3 RPM 4596
---------------------------------------------------------------------------------------------------------
Power:(请参考Fan)
ISR4K#show platform
P0 PWR-4450-1000W-AC ok 00:08:19
ISR4K#show environment all
Temp: Temp 1 P0 Normal 43 Celsius
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 mib-2.47.1.1.1.1.2
SNMPv2-SMI::mib-2.47.1.1.1.1.2.4 = STRING: "Temp: Temp 1"
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 mib-2.47.1.1.1.1.7
SNMPv2-SMI::mib-2.47.1.1.1.1.7.4 = STRING: "Temp: Temp 1 P0/0"
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 enterprises.9.9.91.1.1.1.1.1
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.1.4 = INTEGER: 8
Steven$ snmpwalk -v 2c -c cisco 10.124.36.43 enterprises.9.9.91.1.1.1.1.4
SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.4 = INTEGER: 43
然后组合这些输出:
Temp: Temp 1 Temp: Temp 1 P0/0 8 43(Celsius)