はじめに
このドキュメントでは、snmp-engine ID設定を使用したStarOSでのSimple Network Management Protocol(SNMPv)バージョン3(SNMPv3)のサポートについて説明します。
問題
アップグレードが完了すると、SNMPv3で問題が発生し、サーバ側ではアラームとファイルがプッシュされません(Prime Serverなど)。
21.22.3よりも前のバージョンでは、snmp-engine IDを作成しなくてもSNMPv3は動作していました。ただし、それ以降のバージョン(シリーズ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が必須です。そのため、engine-IDを設定する必要があります。
ステップ 1:snmp-engine IDの設定。
ステップ 2:SNMPプロセスを再起動します。
バージョン3のSNMPが停止し、21.22.x以降のリリースで多く見られる場合は、アップグレードが完了した後に回避策に従ってください。
ステップ 1:snmp-engine IDの設定
さらに、snmp-engine IDを設定するには、少なくとも10桁以上のsnmp-engine IDが必要です。ただし、ノードの設定方法はオペレータによって異なります。
たとえば、SNMPエンジンID:80001F88805928415C9FE07840
同様に、snmp-engine IDは各ノードで一意である必要があり、ASR5500とVPC-DIの両方のノードに同じものを適用できるように設定する必要があります。VPC-DIノードの場合、通常は16進値ストリングが設定され、ASR5500の場合は10桁の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#
ステップ 2:SNMPプロセスの再起動
snmp-engine IDの設定が完了したら、SNMPプロセスを1回再起動します。
[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が問題の解決策としてサーバにプッシュされることを確認します。