交换机 : Cisco Catalyst 6500 系列交换机

使用EEM脚本监控在思科Catalyst系列交换机的高CPU利用率

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文描述如何使用Cisco IOS�被嵌入的活动管理器(EEM)子系统为了监控在思科Catalyst系列交换机的高CPU利用率。

贡献用Shashank辛哈和Saurav Lahiri, Cisco TAC工程师。

先决条件

要求

本文假设,用户有知识Cisco IOS被嵌入的活动管理器(EEM)。

使用的组件

本文档中的信息根据思科Catalyst系列交换机。

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

规则

有关文档规则的信息,请参阅 Cisco 技术提示规则

背景信息

EEM是排除故障是短期的和难手工排除故障与命令行界面的偶尔,间歇的CPU峰值的一非常有用工具。这是CPU峰值示例:

Switch#show process cpu history
<snip>
    11111822511   11 111277711111 124111  11 1211111112161116
    143342171209994090111878458239607111981270283361362429475
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.
             0    5    0    5    0    5    0    5    0    5    0    5    0
                   CPU% per hour (last 72 hours)
                  * = maximum CPU%   # = average CPU%

故障排除

此部分包括使用的几示例EEM脚本监控CPU利用率。Catalyst 2960和3750交换机允许EEM使用非易失性RAM;Catalyst 4500交换机允许EEM写入到Bootflash;并且Catalyst 6500交换机允许EEM使用disk0和超级启动盘。

注意:使用命令查找工具仅限注册用户)可获取有关本部分所使用命令的详细信息。

电子邮件告警

当CPU利用率在50百分比上时,去此脚本给警报发电子邮件。电子邮件的正文是show process CPU排序的命令的输出。

event manager applet highcpu
  event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op ge
entry-val 50 poll-interval 0.5
action 1.0 cli command "enable"
  action 2.0 cli command "show proc cpu sorted"
  action 3.0 mail server "192.168.1.1" to "user-to@domain.com" from "user-from@domain.com"
subject "High CPU Alert" body "$_cli_result"

用斜体字印刷的变量的定义是:

  • highcpu -活动管理器applet/脚本的名称
  • 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 -轮询的路由处理器(RP)的总CPU利用率Object Identifier (OID)
  • 50 -触发脚本的CPU利用率
  • 轮询间隔时间0.5 -频率(每0.5秒)脚本监控CPU
  • 192.169.1.1 -邮件服务器的IP

对本地文件的追加的输出

此脚本添附需要的输出到文件在本地文件系统。用在交换机的适当的文件系统替换文件系统

event manager scheduler script thread class default number 1 
event manager applet High_CPU
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op ge
entry-val 50 poll-interval 0.5
action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information
to file system:high_cpu.txt"
action 0.1 cli command "enable"
  action 0.2 cli command "show clock | append file system:high_cpu.txt"
  action 1.2 cli command "term length 0"
  action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show log | append file system:high_cpu.txt"
  action 1.5 cli command "show interfaces | append file system:high_cpu.txt"
  action 1.6 cli command "term length 24"

追加输出到本地文件并且删除脚本

此脚本添附show process CPU排序的命令的输出到文件在本地文件系统,然后删除曾经完成。用在交换机的适当的文件系统替换文件系统

event manager scheduler script thread class default number 1 
event manager applet High_CPU
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op gt
entry-val 50 poll-interval 0.5
action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information
to flash:high_cpu.txt"
  action 0.1 cli command "enable"
  action 0.2 cli command "term exec prompt timestamp"
  action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 5.1 syslog msg "Finished logging information to file system:high_cpu.txt..."
  action 5.1 syslog msg "Self-removing applet from configuration..."
  action 5.2 cli command "term no exec prompt timestamp"
  action 9.1 cli command "configure terminal"
  action 9.2 cli command "no event manager applet High_CPU"
  action 9.3 cli command "end"

收集输出并且写到本地文件

此脚本使用一基于系统日志的触发为了运行和收集需要的输出和写入那些输出到本地文件系统。用在交换机的适当的文件系统替换文件系统

process cpu threshold type total rising 70 interval 15 
event manager applet DETECT_CPU
event syslog pattern ".*SYS-1-CPURISINGTHRESHOLD.*"
action 1 cli command "en"
action 2 cli command "show clock | append file system:cpuinfo"
action 3 cli command "show proc cpu sort | append file system:cpuinfo"
action 4 cli command "show line | append file system:cpuinfo"

监控在模块化IOS的CPU利用率

思科EEM可能也用于监控在模块化IOS的CPU利用率。由于在CPU如何的差异在模块化IOS监控,您能使用简单网络管理协议(SNMP) OID (1.3.6.1.4.1.9.9.109.1.1.1.1.3.1)为了由IOS基础进程检查CPU利用率。

此脚本使用OID作为触发并且写入需要的输出到本地文件系统。用在交换机的适当的文件系统替换文件系统

event manager scheduler script thread class default number 1
event manager applet High_CPU
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.10.1  get-type exact entry-op ge
entry-val 50 poll-interval 0.5
  action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information
to file system:high_cpu.txt"
  action 0.1 cli command "enable"
  action 0.2 cli command "show clock | append file system:high_cpu.txt"
  action 1.2 cli command "term length 0"
  action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show log | append file system:high_cpu.txt"
  action 1.5 cli command "show interfaces | append file system:high_cpu.txt"
  action 1.6 cli command "term length 24"

删除脚本

输入此命令为了删除EEM脚本:

Switch(config)#no event manager applet applet name

相关信息



Document ID: 116141