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:
- Create and register the applet with EEM and enter applet configuration mode.
- Enter the command to trigger an event based on SNMP object identifier (OID) cross the entry threshold.
- 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