目录

简介

先决条件

要求

使用的组件

配置

CPU利用率超过50%

%SNMP-3-INPUT_QFULL_ERR系统日志消息

验证

故障排除

相关信息

简介

本文档介绍如何配置Cisco IOS®嵌入式事件管理器(EEM)小程序，以捕获show stacks命令的输出。思科技术支持中心(TAC)通常需要此输出，以排除由简单网络管理协议(SNMP)导致的CPU使用率过高的问题。

先决条件

要求

Cisco 建议您了解以下主题：

- 简单网络管理协议 (SNMP)

- 思科IOS嵌入式事件管理器(EEM)

- 系统日志

使用的组件

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

- 思科IOS版本15.1(4)M6

- Cisco 2811 集成多业务路由器

注意：本文档中的配置应与早期的Cisco IOS软件版本配合使用，因为两个小程序都使用EEM版本3.0,Cisco IOS版本12.4(22)T或更高版本支持该版本。但是，这尚未经过测试。

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

配置

这些EEM小程序自动执行捕获show stacks命令输出的过程。请注意：

- 两个小程序都使用SNMP引擎的进程ID(PID)。输入show processes cpu命令以查找PID;在本例中，PID为188:

2811#show processes cpu | include SNMP ENGINE

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

188          40           1      40000  0.00%  0.04%  0.01%   0 SNMP ENGINE

2811#

- EEM 3.0或更高版本是使用等待操作所必需的。输入show event manager version命令以检测EEM版本。

- 使用身份验证、授权和记帐(AAA)的Cisco IOS软件设备应定义哪些用户可以执行CLI操作。对此配置使用event manager session cli username user 命令，其中user是授权在EEM小程序中执行所有CLI命令的用户名。

- 某些文件系统可能不支持使用“append”选项重定向输出。在配置小程序之前，请手动测试此项，以确保可以将输出重定向到文件系统。

show stacks命令显示指定进程正在处理的任务。在排除CPU使用率高问题时，找出在出现情况时正在执行的任务非常有用。

CPU利用率超过50%

此EEM小程序检测CPU利用率超过50%的情况。当时，show stacks命令的输出将在9秒内采样，并记录在闪存中名为SNMP_STACK.txt的文件中。此信息可帮助TAC确定CPU使用率过高的原因。

本示例调查由SNMP导致的高CPU条件；您可以使用类似的EEM小程序收集一组不同的输出，以调查由不同进程导致的高CPU问题。

event manager applet SNMP_STACK

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.10.1 get-type exact entry-op gt

entry-val "50" exit-op lt exit-val "15" poll-interval 2 maxrun 20

action 0.0 syslog msg "High CPU DETECTED"

action 0.1 cli command "enable"

action 1.1 cli command "show clock | append flash:SNMP_STACK.TXT"

action 1.2 cli command "show proc cpu sort | append flash:SNMP_STACK.TXT"

action 2.1 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 2.2 wait 1

action 2.3 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 2.4 wait 1

action 2.5 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 2.6 wait 1

action 2.7 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 2.8 wait 1

action 2.9 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.1 wait 1

action 3.2 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.3 wait 1

action 3.4 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.5 wait 1

action 3.6 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.7 wait 1

action 3.8 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

%SNMP-3-INPUT_QFULL_ERR系统日志消息

如果生成%SNMP-3-INPUT_QFULL_ERR系统日志消息，则激活此EEM小程序。当时，show stacks命令的输出将在9秒内采样，并记录在闪存中名为SNMP_STACK.txt的文件中。此信息可帮助TAC确定CPU使用率过高的原因。

event manager applet SNMP_STACK

event syslog pattern "%SNMP-3-INPUT_QFULL_ERR"

action 1.0 cli command "enable"

action 2.1 cli command "show clock | append flash:SNMP_STACK.TXT"

action 2.2 cli command "show proc cpu sort | append flash:SNMP_STACK.TXT"

action 3.1 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.2 wait 1

action 3.3 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.4 wait 1

action 3.5 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.6 wait 1

action 3.7 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 3.8 wait 1

action 3.9 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 4.1 wait 1

action 4.2 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 4.3 wait 1

action 4.4 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 4.5 wait 1

action 4.6 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 4.7 wait 1

action 4.8 cli command "show stacks 188 | append flash:SNMP_STACK.TXT"

action 4.9 wait 1

验证

当前没有可用于此配置的验证过程。

故障排除

目前没有针对此配置的故障排除信息。

相关信息

- 嵌入式事件管理器配置指南，Cisco IOS版本15M&T

- 技术支持和文档 - Cisco Systems