cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
14534
Views
5
Helpful
1
Comments
kaannadu
Level 1
Level 1

Introduction

This document provides a sample configuration for Embedded Event Manager (EEM) script on Cisco Nexus 7000 Series Switches to monitor the CPU utilization. EEM scripts have been used to automate common diagnostics and troubleshooting scenarios that occur on your device based on network events.

Prerequisites

Requirements

Make sure that you meet these requirements before you attempt this configuration.


  • Have a basic knowledge of configuration on Nexus 7000 Series Switches.
  • Have a basic understanding of Embedded Event Manager (EEM) scripts.


Components Used


The information in this document is based on the Nexus 7000 Series NX-OS devices, started with a cleared (default) configuration. Before using this configuration make sure that you understand the potential impact of any command.

Configure

In this section, you are presented with EEM script configuration to monitor the Nexus 7000 CPU utilization, once it gets above a pre-defined threshold (in this example we use 50%) it will start to execute the commands. The output of the commands will get written to the bootflash which has the information gathered during the period of high CPU utilization.


From this output we can diagnose what causes the CPU to jump up periodically. This EEM script should be configured in the default VDC (virtual device context). It will capture “show proc cpu sort” output in each VDC and write the files to bootflash.

Configuration


This document uses this EEM Script configuration.

Steps:

  1. Create and register the applet with EEM and enter applet configuration mode.
  2. Enter the command to trigger an event based on SNMP object identifier (OID) cross the entry threshold.
  3. Configure the action statements which trigger the action.


Sample configuration given below,

switch(config)#event manager applet highcpu


switch(config-applet)#event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.6.1 get-type exact entry-op ge entry-val  50 poll-interval 1


switch(config-applet)#action 0.1 syslog msg High CPU DETECTED "show process cpu sort" written to  bootflash:highcpu.txt


switch(config-applet)#action  0.2 cli enable


switch(config-applet)#action  0.3 cli show process cpu sort >> bootflash:highcpu.txt


switch(config-applet)#action  0.4 cli show process cpu hist >> bootflash:highcpu.txt


switch(config-applet)#action  0.5 cli switchto vdc Core


switch(config-applet)#action  0.6 cli show process cpu sort >> bootflash:highcpu_Core.txt


switch(config-applet)#action  0.7 cli exit


switch(config-applet)#action  0.8 cli switchto vdc Distribution


switch(config-applet)#action  0.9 cli show process cpu sort >> bootflash:highcpu_Dist.txt


switch(config-applet)#action  1.0 cli exit

Output

The output of the commands will be stored in three separate files in bootflash.


The three files will be:


bootflash:/highcpu.txt

bootflash:/vdc_2/highcpu_Core.txt

bootflash:/vdc_2/highcpu_Dist.txt

    

From these three files we can diagnose what causes the CPU to jump up periodically.

Related Information

Comments
nmicic
Cisco Employee
Cisco Employee

Please correct this script. It has too agressive polling interval. Collection of the command will take longer then polling interval (up to 3-4 secondes), so this script may generate domino effect and run multiple EEM instances in background. More safe polling interval would be 10 secondes. Also, this EEM script always write to the same file which will grow after some time, so it may cause additional load when file is too big.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: