简介
本文档介绍使用snmp-engine ID配置的StarOS中的简单网络管理协议第3版(SNMPv3)支持。
问题
升级完成后,SNMPv3会遇到问题,因为在服务器端(例如,Prime服务器)不推送警报和文件。
在早于21.22.3的版本中,SNMPv3在没有创建snmp-engine ID的情况下运行。但是,更高版本(系列21.22.x和21.23.x)不支持相同功能。为此,您必须配置snmp-engine ID。
解决方案
检查所有SNMP配置:
[local]LAB# show snmp accesses
SNMP Usage Statistics:
Get PDUs Received : 0
GetNext PDUs Received : 0
Set PDUs Received : 0
PduTooBig Errors : 0
NoSuchName Errors : 0
BadValue Errors : 0
GenError Errors : 0
Agent started : Thursday April 07 15:27:51 IST 2022
[local]LAB#
[local]LAB# show snmp server
SNMP Server Configuration:
Server State : enabled
SNMP Port : 161
sysLocation :
sysContact :
authenticationFail traps : Disabled
EngineID : ------------------ No Engine ID configured
Runtime Debugging : ON
Runtime Debug Token : |0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
Alert Threshold : 500 alerts in 300 seconds
Alert Low Threshold : 20 alerts in 300 seconds
SNMP Agent Mib Configuration:
STARENT-MIB : Enabled
IF-MIB : Disabled
ENTITY-MIB : Disabled
ENTITY-STATE-MIB : Disabled
ENTITY-SENSOR-MIB : Disabled
HOST-RESOURCES-MIB : Disabled
CISCO-MOBILE-WIRELESS-SERVICE-MIB : Disabled
CISCO-ENTITY-DISPLAY-MIB : Disabled
CISCO-ENTITY-EXTENSION-MIB : Disabled
CISCO-ENTITY-FRU-CONTROL-MIB : Disabled
CISCO-ENTITY-REDUNDANCY-MIB : Disabled
CISCO-IP-LOCAL-POOL-MIB : Disabled
CISCO-PROCESS-MIB : Disabled
CISCO-FLASH-MIB : Disabled
CISCO-SYSTEM-EXT-MIB : Disabled
CISCO-IPSEC-FLOW-MONITOR-MIB : Disabled
CISCO-ENHANCED-IPSEC-FLOW-MIB : Disabled
CISCO-IF-EXTENSION-MIB : Disabled
由于未创建引擎ID,因此未选中在闪存中找到引擎文件。
[local]LAB# cli test-commands password xxxx
[local]LAB# debug shell
LAB:card1-cpu0# cd /flash
LAB:card1-cpu0# ls -lart | grep .eng ------ No engine file found in flash
LAB:card1-cpu0#
从检查中,您会看到snmp-engine ID未配置。它对于SNMPv3支持是必填的。snmp-engine ID是需要在节点中配置的唯一ID。对于每个节点和服务器之间的安全连接,它必须是唯一的,不能与任何其他节点相同。
解决方法:
对于SNMPv3支持,snmp-engine ID是必需的。因此,您需要配置引擎ID。
步骤1:配置snmp-engine ID。
第二步:重新启动SNMP进程。
当版本3的SNMP停止时,应遵循此解决方法,并且大多数在21.22.x之后的版本中会观察到此解决方法。
步骤1:配置snmp-engine ID
此外,要配置snmp-engine ID,至少必须有一个10位或更多snmp-engine ID。但是,这取决于运营商如何配置其节点。
例如,SNMP引擎ID:80001F88805928415C9FE07840
同样,您需要配置snmp-engine ID,该ID对于每个节点必须是唯一的,并且同样适用于ASR5500和VPC-DI节点。对于VPC-DI节点,通常配置HEX值字符串,对于ASR5500十进制数字10。
CLI for snmp-engine ID creation
[local]LAB# configure
[local]LAB(config)# snmp engine-id local 80001F88805928415C9FE07841
[local]LAB(config)# exit
[local]LAB# show snmp server
SNMP Server Configuration:
Server State : enabled
SNMP Port : 161
sysLocation :
sysContact :
authenticationFail traps : Disabled
EngineID : 80001F88805928415C9FE07841 -------- Engine ID configured
Runtime Debugging : ON
Runtime Debug Token : |0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
Alert Threshold : 500 alerts in 300 seconds
Alert Low Threshold : 20 alerts in 300 seconds
SNMP Agent Mib Configuration:
[local]LAB# cli test-commands password xxxx
[local]LAB# debug shell
LAB:card1-cpu0# cd /flash
LAB:card1-cpu0# ls -lrth | grep .eng
LAB:card1-cpu0#
LAB:card1-cpu0# ls -lart | grep .eng
-rw-rw-r-- 1 root root 30 Apr 19 09:07 .engineInfo --------- Engine file created as engine ID is configured
LAB:card1-cpu0#
第二步:重新启动SNMP进程
完成snmp-engine ID的配置后,只需重新启动SNMP进程一次。
[local]LAB# show task resources | grep snmp
1/0 snmp 0 0.10% 65% 27.86M 90.00M 18 2000 -- -- - good
[local]LAB#
[local]LAB# task kill facility snmp instance 0
最后,检查日志/KPI是否推送到服务器,作为问题的解决方法。