Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Monitor Interface Utilization on NX-OS

The SNMP event detector in NX-OS does not support a delta or incremental polling type so counter objects cannot be properly monitored.  This makes it difficult to monitor things such as interface utilization.  This solution repurposes the SNMP ED along with a Tcl script and a hidden VSH command to provide syslog alerting if any of a list of interfaces exceeds a configurable threshold.

First, configure an EEM applet using the SNMP ED.  This applet will monitor sysUpTime and fire whenever sysUpTime is greater than 0.  This will always be true.  The point of this applet is to run each time the polling interval pops and execute the Tcl script.

event manager applet ifTimer

event snmp oid get-type exact entry-op gt entry-val 0 poll-interval 30

action 1.0 cli tclsh bootflash:if_util.tcl

In this example, the applet will run every 30 seconds and fire off the if_util.tcl script.  It is the job of this script to check the interface utilization.

The attached Tcl script will check two EEM environment variables.  The first provides a comma-separated list of interfaces to check.  The second specifies the threshold.

event manager environment if_util_intfs "e3/1,e3/2,e4/1"

event manager environment if_util_threshold "90"

In this example, the script will monitor the utilization of Ethernet3/1, Ethernet3/2, and Ethernet4/1 (using the "show interface" command).  If any of the iterfaces' utilization is over 90%, a syslog message will be generated for that interface.  That syslog will look like:

%USER-2-SYSTEM_MSG: systest from  0: Interface e3/1 exceeded 90% utilization threshold: Tx: 91%, Rx: 60% - vsh

This solution has been tested on a Nexus 7K running 6.0(3).  NX-OS 5.2 or higher should also work with this solution.

Version history
Revision #:
1 of 1
Last update:
‎04-29-2012 10:07 PM
Updated by:
Labels (1)
New Member

Hello Joseph,

I'm a little confused.

I thought tha NX-OS couldn't do Tcl?


Cisco Employee

Calling a Tcl script from EEM or the scheduler is not officially supported on NX-OS yet.  Meaning if something goes wrong, there is no way to get support for it.  However, it does work given a new enough version of NX-OS.