目录

简介

要求

先决条件

使用的组件

规则

排除最常见的错误

相关信息

简介

本文档介绍简单网络管理协议(SNMP)及其如何在设备上测试功能。

要求

先决条件

Cisco建议您了解SNMP协议及其与网络管理系统(NMS)服务器的通信。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- SNMP

- 思科WS-C3650-12X48UZ

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

排除最常见的错误

1.错误消息：“%SNMP-3-RESPONSE_DELAYED：正在处理“任何OID”的GetNext。”

GetNext of ciscoMgmt.810.1.2.1.1 (24004 msecs)

*May 24 01:30:48.463: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.2.1.1 (24008 msecs)

---> In this scenario ciscoMgmt.810.1.2.1.1 is the OID causes the issue.

*May 24 01:31:12.477: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.2.1.1 (24012 msecs)

*May 24 01:31:36.486: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.2.1.1 (24008 msecs)

*May 24 01:32:00.503: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24016 msecs)

*May 24 01:32:24.515: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24012 msecs)

*May 24 01:32:48.528: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24012 msecs)

*May 24 01:33:12.537: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24008 msecs)

要排除的故障：

检查设备上的SNMP配置。 对于SNMPv2，它需要如下所示：

snmp-server community TAC1 RO

snmp-server community TAC2 RO  --> If multiple communities are added to device.

对于SNMPv3:

snmp-server view TESTV3 iso include

#snmp-server group TestGroupV3  v3 auth read TESTV3

#snmp-server user cisco TestGroupV3 v3 auth md5 ciscorules priv des56 cisco123

进入设备的配置模式并将视图添加到SNMP配置以更改配置。

对于SNMPv2:

snmp-server community  TAC1 RO view cutdown RO

snmp-server community TAC2 RO view cutdown RO

配置模式中的某些行：

snmp-server view cutdown iso included

snmp-server view cutdown ciscoMgmt.810 excluded -->>>

The Idea is to exclude the OID causes the issue, however,

please read out what is the function of the OID that that is excluded.

对于SNMPv3:

#snmp-server view TESTV3 internet included

#snmp-server view TESTV3 ciscoMgmt.810  excluded

#snmp-server group  TestGroupV3   v3 priv write TESTV3

2.错误消息“由于SNMP闪存缓存导致CPU使用率过高”。

#show processes cpu sorted

CPU utilization for five seconds: 99%/0%; one minute: 22%; five minutes: 18%

PID    Runtime(ms)     Invoked      uSecs      5Sec          1Min     5Min     TTY    Process

447    561399          143012       3925       0.00%         1.58%    1.83%     0     Snmp Flash Cache

SNMP日志：

%SYS-2-SIGPENDING：将多个信号发送到进程91 -Process= "Snmp Flash Cache", ipl= 0, pid= 91。

888888888888888888888888888888888888888888888898878889

625424254283314655456532533533772205363424335694492379

100                                              *      *

90 * *    *  *    *** ***  *  *  **  * *      ***    **

80 ******************************************************

70 ******************************************************

60 ******************************************************

50 ******************************************************

40 ######################################################

30 ######################################################

20 ######################################################

10 ######################################################

0....5....1....1....2....2....3....3....4....4....5....5....6....6....7..

解决方法：

闪存MIB数据收集过程默认处于禁用状态。如果使用snmp mib flash cache命令启用此功能（可能在重新加载之后），则在某些情况下，它可能会导致高CPU。

相反， 在配置模式下使用#no snmp mib flash cache命令。

或安装此EEM脚本：

event manager applet SNMP authorization bypass

event syslog pattern "SYS-5-RESTART"

action 11 cli command "enable"

action 12 cli command "conf t"

action 13 cli command "no snmp mib flash cache"

action 14 cli command "end"

3.错误消息：“%SNMP-3-INPUT_QFULL_ERR：由于输入队列已满而丢弃的数据包”

队列已满错误的可能原因可能是设备上的大量轮询或导致问题的特定OID。要缓解此问题，首先检查设备是否已进行大量轮询。

为此，请执行以下命令：

B02#show snmp stats oid

time-stamp                                #of times requested            OID

15:40:19 BKK Dec 27 2019        11180008                           ifAlias

15:40:19 BKK Dec 27 2019        44018183                        dot1dBasePortEntry.4

15:40:19 BKK Dec 27 2019        44018212                        dot1dBasePortEntry.3

15:40:19 BKK Dec 27 2019        45216156                        ipNetToPhysicalEntry.4

15:40:19 BKK Dec 27 2019        44018059                        dot1dBasePortEntry.5

15:40:19 BKK Dec 27 2019        44578303                        dot1dBasePortEntry.1

15:40:19 BKK Dec 27 2019        6011756                        dot3StatsEntry.19

15:40:19 BKK Dec 27 2019        11095925                        ifSpeed

15:40:19 BKK Dec 27 2019        12879927                        dot1dTpFdbEntry.3

15:40:19 BKK Dec 27 2019        84535                              vmMembershipSummaryEntry.2

15:40:19 BKK Dec 27 2019        3241107                          vmMembershipSummaryEntry.3

15:40:19 BKK Dec 27 2019        45208908                        ipNetToMediaEntry.2

15:40:19 BKK Dec 27 2019        45223410                        ipNetToPhysicalEntry.6

15:40:19 BKK Dec 27 2019        44018324                        dot1dBasePortEntry.2

要排除的故障：

您需要更改NMS上的设置并缩短设备的轮询间隔。轮询间隔缩短后，必须减少队列已满错误。 如果不是，则需要检查导致问题的OID。要查找导致问题的OID并对其进行故障排除，请参阅前面提到的错误消息1。

4.错误消息：“由于SNMP引擎导致CPU使用率过高”。

识别问题:

当客户端轮询路由器时，路由器的CPU使用率较高，这可以在该CPU使用率较高时使用#show process cpu <sorted>命令进行检查。您可以看到SNMP引擎进程占用了所有CPU资源：

#show processes cpu sorted

CPU utilization for five seconds: 99%/0%; one minute: 22%; five minutes: 18%

PID    Runtime(ms)      Invoked      uSecs   5Sec          1Min              5Min    TTY    Process

189     1535478456      697105815    2202    88.15%        13.40%            8.74%    0     SNMP ENGINE

有问题的OID导致高CPU速度比其他OID慢，这也会导致客户端请求此OID时超时。大多数方法尝试查找提供较慢答案的OID。这是因为它们最有可能导致CPU使用率过高。识别OID后，您可以锁定相应的OID以缓解错误。

注：如果此处列出的方法均无法帮助确定导致问题的OID，请通过TAC提交支持请求。

方法 1.使用show snmp stats oid命令。

show snmp stats oid命令显示轮询的最后一个OID。它按顺序显示时间戳，目标是标识响应缓慢的OID。如果您希望查找客户端轮询的MIB较频繁，此命令也很有用。

#show snmp stats oid

time-stamp #of times     requested   OI

14:34:38 CET Oct 25 2020 24       atEntry.2

14:34:29 CET Oct 25 2020 40       atEntry.1

14:34:11 CET Oct 25 2020  11       ifOutErrors

14:34:07 CET Oct 25 2020 10       ifOutDiscards

14:34:06 CET Oct 25 2020 10       ifOutUcastPkts

14:34:06 CET Oct 25 2020 10      ifOutOctets

14:34:05 CET Oct 25 2020 10      ifInUnknownProtos

您可以看到Entry.1计算耗时18秒，这表明CPU正忙于计算此数据。

方法 2.观察SNMP客户端。

要查找导致设备上CPU使用率较高的OID，可以启动  snmpwalk 从NMS服务器连接到设备并观察输出。响应速度慢于其他OID的OID可能是导致CPU使用率较高的OID。

要排除的故障：

检查设备上的SNMP配置。 对于SNMPv2，它需要如下所示：

snmp-server community TAC1 RO

snmp-server community TAC2 RO --> If multiple communities are added to snmp.

- 对于SNMPv3

snmp-server view TESTV3 iso include

#snmp-server group TestGroupV3  v3 auth read TESTV3

#snmp-server user cisco TestGroupV3 v3 auth md5 ciscorules priv des56 cisco123

进入设备的配置模式并将视图添加到SNMP配置以更改配置。

- 对于SNMPv2

snmp-server community  TAC1 RO view cutdown RO

snmp-server community TAC2 RO view cutdown RO

在配置模式下添加以下行：

snmp-server view cutdown iso included

snmp-server view cutdown OID _causes_the issue_is _to_excluded  excluded

-->>> The Idea is to exclude the OID causes the issue, however,

please read out what is the function of the OID that  we are about to exclude.

相关信息

- SNMP

- 思科技术支持和下载