Configuration Examples for EEM Policies
This section includes the following topics:
Configuration Examples for CLI Events
This section includes the following examples of CLI event configuration:
Monitoring Interface Shutdown
This example shows how to monitor an interface shutdown:
Enter configuration commands, one per line. End with CNTL/Z. switch(config)# event manager applet monitorShutdown switch(config-applet)# description “Monitors interface shutdown.” switch(config-applet)# event cli match “conf t; interface *; shutdown” switch(config-applet)# action 1.0 cli show interface e 3/1 switch(config)# copy running-config startup-config
Note Outputs of show commands entered as part of EEM policy are archived in the logflash as text files with the “eem_archive_” prefix. To view the archived output, use the show file logflash:eem_archive_n command.
Monitoring Module Powerdown
This example shows how to monitor a module powerdown:
Enter configuration commands, one per line. End with CNTL/Z. switch(config)# event manager applet monitorPoweroff switch(config-applet)# description “Monitors module power down.” switch(config-applet)# event cli match “conf t; poweroff *” switch(config-applet)# action 1.0 cli show module switch(config)# copy running-config startup-config
Adding a Trigger to Initiate a Rollback
This example shows how to add a trigger to initiate a rollback:
Enter configuration commands, one per line. End with CNTL/Z. switch(config)# event manager applet rollbackTrigger switch(config-applet)# description “Rollback trigger.” switch(config-applet)# event cli match “rollback *” switch(config-applet)# action 1.0 cli copy running-config bootflash:last_config switch(config)# copy running-config startup-config
Configuration Examples to Override (Disable) Major Thresholds
This section includes the following topics:
Preventing a Shutdown When Reaching a Major Threshold
This example shows how to prevent a shutdown caused by reaching a major threshold:
switch(config)# event manager applet myappletname override __pfm_tempev_major
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_tempev_major
Disabling One Bad Sensor
This example shows how to disable only sensor 3 on module 2 when sensor 3 is malfunctioning (all other sensors are unaffected):
switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 3 threshold major switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_tempev_major
Disabling Multiple Bad Sensors
This example shows how to disable sensors 5, 6, and 7 on module 2 when these sensors are malfunctioning (all other sensors are unaffected):
switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 5 threshold major switch(config-applet)# end switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 6 threshold major switch(config-applet)# end switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 7 threshold major switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_tempev_major
Overriding (Disabling) an Entire Module
This example shows how to disable module 2 when it is malfunctioning:
switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 threshold major switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_tempev_major
Overriding (Disabling) Multiple Modules and Sensors
This example shows how to disable sensors 3, 4, and 7 on module 2 and all sensors on module 3 when they are malfunctioning:
switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 3 threshold major switch(config-applet)# end switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 4 threshold major switch(config-applet)# end switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 7 threshold major switch(config-applet)# end switch(config)# event manager applet myappletname override __pfm_tempev_major switch(config-applet)# event temperature module 3 threshold major switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_tempev_major
Enabling One Sensor While Disabling All Remaining Sensors of All Modules
This example shows how to disable all sensors on all modules except sensor 4 on module 9:
switch(config)# event manager applet myapplet1 override __pfm_tempev_major switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_tempev_major switch(config-applet)# event temperature module 9 sensor 4 threshold major switch(config-applet)# action 2 policy-default switch(config-applet)# end
Enabling Multiple Sensors While Disabling All Remaining Sensors of All Modules
This example shows how to disable all sensors on all modules except sensors 4, 6, and 7 on module 9:
switch(config)# event manager applet myapplet1 override __pfm_tempev_major switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_tempev_major switch(config-applet)# event temperature module 9 sensor 4 threshold major switch(config-applet)# action 2 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet3 override __pfm_tempev_major switch(config-applet)# event temperature module 9 sensor 6 threshold major switch(config-applet)# action 3 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet4 override __pfm_tempev_major switch(config-applet)# event temperature module 9 sensor 7 threshold major switch(config-applet)# action 4 policy-default switch(config-applet)# end
Enabling All Sensors of One Module While Disabling All Sensors of the Remaining Modules
This example shows how to disable all sensors on all modules except all sensors on module 9:
switch(config)# event manager applet myapplet1 override __pfm_tempev_major switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_tempev_major switch(config-applet)# event temperature module 9 threshold major switch(config-applet)# action 2 policy-default switch(config-applet)# end
Enabling a Combination of Sensors on Modules While Disabling All Sensors of the Remaining Modules
This example shows how to disable all sensors on all modules except sensors 3, 4, and 7 on module 2 and all sensors on module 3:
switch(config)# event manager applet myapplet1 override __pfm_tempev_major switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 3 threshold major switch(config-applet)# action 2 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet3 override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 4 threshold major switch(config-applet)# action 3 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet4 override __pfm_tempev_major switch(config-applet)# event temperature module 2 sensor 7 threshold major switch(config-applet)# action 4 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet5 override __pfm_tempev_major switch(config-applet)# event temperature module 3 threshold major switch(config-applet)# action 5 policy-default switch(config-applet)# end
Configuration Examples to Override (Disable) Shutdown for Fan Tray Removal
This section includes the following topics:
Note When you remove a fan tray from a Cisco Nexus 7010 switch, a shutdown does not occur. The remaining fan tray increases its speed, and a message is written to the syslog.
Note When you remove a fan tray from a Cisco Nexus 7018 switch, the switch starts a 3-minute timer. If you do not replace the fan tray within that 3 minutes, the switch shuts down the modules cooled by that timer to prevent an overtemperature condition. If you override the timer with an EEM command, an overtemperature condition can occur, which will cause a shutdown.
Overriding (Disabling) a Shutdown for Removal of One or More Fan Trays
This example shows how to disable a shutdown so that you can remove one or more (or all) fan trays:
switch(config)# event manager applet myappletname override __pfm_fanabsent_any_singlefan switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_fanabsent_any_singlefan switch(config-applet)# end
Overriding (Disabling) a Shutdown for Removal of a Specified Fan Tray
This example shows how to disable a shutdown so that you can remove a specified fan tray (fan tray 3):
switch(config)# event manager applet myappletname override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 3 time 60 switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config) no event manager applet myappletname override __pfm_fanabsent_any_singlefan
Overriding (Disabling) a Shutdown for Removal of Multiple Specified Fan Trays
This example shows how to disable a shutdown so that you can remove multiple specified fan trays (fan trays 2, 3, and 4):
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 2 time 60 switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 3 time 60 switch(config-applet)# end switch(config)# event manager applet myapplet3 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 4 time 60 switch(config-applet)# end
This example shows how to revert to the default configuration:
switch(config)# no event manager applet myappletname override __pfm_fanabsent_any_singlefan
Overriding (Disabling) a Shutdown for Removal of All Fan Trays Except One
This example shows how to disable a shutdown so that you can remove all fan trays except one (fan tray 2):
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 2 time 60 switch(config-applet)# action 2 policy-default switch(config-applet)# end
Overriding (Disabling) a Shutdown for Removal of Fan Trays Except for a Specified Set of Fan Trays
This example shows how to disable a shutdown so that you can remove fans except for a specified set of fan trays (fan trays 2, 3, and 4):
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 2,3,4 time 60 switch(config-applet)# action 2 policy-default switch(config-applet)# end
Overriding (Disabling) a Shutdown for Removal of All Fan Trays Except One from a Set of Fan Trays
This example shows how to disable a shutdown so that you can remove all fan trays except one from a set of fan trays (fan trays 2, 3, or 4):
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan switch(config-applet)# end switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 2 time 60 switch(config-applet)# action 2 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet3 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 3 time 60 switch(config-applet)# action 3 policy-default switch(config-applet)# end switch(config)# event manager applet myapplet4 override __pfm_fanabsent_any_singlefan switch(config-applet)# event fanabsent fan 4 time 60 switch(config-applet)# action 4 policy-default switch(config-applet)# end
Configuration Examples to Create a Supplemental Policy
This section includes the following topics:
Creating a Supplemental Policy for the Fan Tray Absent Event
This example shows how to create a supplemental policy using the
event fanabsent
command:
[
no
]
event fanabsent
[
fan
fan-tray-number
]
time
time-interval
In addition to the default policy, this example shows how to execute the policy myappletname and action 3 if fan tray 1 is absent for 60 seconds:
switch(config)# event manager applet myappletname switch(config-applet)# event fanabsent fan 1 time 60 switch(config-applet)# action 3 cli “show env fan” switch(config-applet)# end
Creating a Supplemental Policy for the Temperature Threshold Event
This example shows how to create a supplemental policy using the
event temperature
command:
[
no
]
event temperature
[
mod
module-number
] [
sensor
sensor-number
]
threshold
{
major
|
minor
|
any
}
In addition to the default policy, this example shows how to execute the policy myappletname and action 1 if the temperature crosses the minor threshold on sensor 3 of module 2:
switch(config)# event manager applet myappletname switch(config-applet)# event temperature module 2 sensor 3 threshold minor switch(config-applet)# action 1 cli “show environ temperature” switch(config-applet)# end
Configuration Examples for the Power Over-Budget Policy
The power over-budget policy gets triggered when the available power capacity drops below zero and the device is no longer able to keep the previously powered-up modules in the powered-up state. The default action is to print a syslog to notify the user of the occurrence of power over budget.
You can enable an additional action to power down modules until the available power recovers from the red (negative) zone.
This section includes the following topics:
Shutting Down Modules
If you do not specify any modules, the power over-budget shutdown starts from slot 1 and shuts down modules until the power recovers from the red (negative) zone. Empty slots and slots that contain a supervisor, standby supervisor, spine, or crossbar are skipped.
This example shows how to shut down modules starting from module 1 when the available power drops below zero:
switch(config)# event manager applet <myappletname4a> override __pfm_power_over_budget switch(config-applet)# event poweroverbudget switch(config-applet)# action 4 overbudgetshut switch(config-applet)# end
Shutting Down a Specified List of Modules
You can specify a list of modules that the power over-budget action uses to shut down modules until the power recovers from the red (negative) zone. Empty slots and slots that contain a supervisor, standby supervisor, spine, or crossbar are skipped.
This example shows how to shut down modules from a specified list of modules (1, 2, 7, 8) when the available power drops below zero:
switch(config)# event manager applet <myappletname4b> override __pfm_power_over_budget switch(config-applet)# event poweroverbudget switch(config-applet)# action 5 overbudgetshut module 1,2,7,8 switch(config-applet)# end
Configuration Examples to Select Modules to Shut Down
This section includes the following topics:
Using the Policy Default to Select Nonoverridden Modules to Shut Down
This example shows how to use the policy default to select the nonoverridden modules to shut down when a major threshold is exceeded:
switch(config)# event manager applet my5a1 override __pfm_tempev_major switch(config-applet)# end switch(config)# event manager applet my5a2 override __pfm_tempev_major switch(config-applet)# event temperature module 1-3 sensor 4 threshold major switch(config-applet)# action 5 policy-default switch(config-applet)# end
Using Parameter Substitution to Select Nonoverridden Modules to Shut Down
This example shows how to use parameter substitution to select the nonoverridden modules to shut down when a major threshold is exceeded:
switch(config)# event manager applet my5b1 override __pfm_tempev_major switch(config-applet)# end switch(config)# event manager applet my5b2 override __pfm_tempev_major switch(config-applet)# event temperature module 1-3 sensor 8 threshold major switch(config-applet)# action 6 forceshut module my_module_list reset “temperature-sensor policy trigger” switch(config-applet)# end
To create event manager parameters, use the
event manager environment
command. To display the values of event manager parameters, use the
show event manager environment all
command.
Configuration Examples for the Online Insertion Removal Event
The online insertion removal (OIR) event does not have a default policy.
This example shows how to configure the OIR event using the
event oir
command:
event oir
device-type event-type
[
device-number
]
The
device-type
can be
fan
,
module
or
powersupply
.
The
event-type
can be
insert
,
remove
, or
anyoir
(insert or remove).
The optional
device-number
specifies a single device. If omitted, all devices are selected.
This example shows how to configure the insert event:
switch(config)# event manager applet myoir switch(config-applet)# event oir module insert switch(config-applet)# action 1 syslog priority critical msg “OIR insert event: A Module is inserted”
This example shows how to configure the remove event:
switch(config)# event manager applet myoir switch(config-applet)# event oir module remove switch(config-applet)# action 1 syslog priority critical msg “OIR remove event: A Module is removed”
Configuration Example to Generate a User Syslog
This example shows how to generate a user syslog using the
action syslog
command:
switch(config)# event manager applet myoir switch(config-applet)# event oir module remove switch(config-applet)# action 1 syslog priority critical msg “Module is removed”
When this event is triggered, the system generates a syslog as follows:
p1b-57(config)# 2008 Feb 20 00:08:27 p1b-57 %$ VDC-1 %$ %EEM_ACTION-2-CRIT: “Module is removed”
Configuration Example to Monitor Syslog Messages
This example shows how to monitor syslog messages from the switch:
switch(config)# event manager applet a1 switch(config-applet)# event syslog occurs 6 period 4294967 pattern "authentication failed"
When this event is triggered, the action defined in the policy is executed.
Configuration Examples for SNMP Notification
This section includes the following topics:
Polling an SNMP OID to Generate an EEM Event
The SNMP object ID (OID) CISCO-SYSTEM-EXT-MIB::cseSysCPUUtilization is used for querying the CPU utilization of the switch:
cseSysCPUUtilization OBJECT-TYPE "The average utilization of CPU on the active supervisor." ::= { ciscoSysInfoGroup 1 }
This example shows the use of an SNMP OID that is polled at an interval of 10 seconds and has a threshold value of 95 percent:
switch(config)# event manager applet test_policy switch(config-applet)# event snmp oid 1.3.6.1.4.1.9.9.305.1.1.1.0 get-type exact entry-op gt entry-val 95 exit-op lt exit-val 90 poll-interval 10
Sending an SNMP Notification in Response to an Event in the Event Policy
You can use this type of configuration to cause a critical event trigger to generate an SNMP notification.
This example shows how to send an SNMP notification for an event from the Event Manager applet configuration mode:
switch(config-applet)# action 1.1 snmp-trap intdata1 100 intdata2 300 strdata "CPU Hogging at switch1" switch(config-applet)# action 1.1 snmp-trap intdata1 100 intdata2 300 strdata "Port Failure eth9/1"
This configuration triggers an SNMP notification (trap) from the switch to SNMP hosts. The SNMP payload carries the values of user-defined fields intdata1, intdata2, and strdata.
Configuration Example for Port Tracking
This example shows how to configure the state of one port to match the state of another port (port tracking).
To configure the port tracking of Ethernet interface 3/23 by Ethernet interface 1/2, follow these steps:
Step 1 Create an object to track the status of Ethernet interface 3/23.
switch(config)# track 1 interface ethernet 3/23 switch(config-track)# end
Step 2 Configure an EEM event to shut Ethernet interface 1/2 when the tracking object shuts down.
switch(config)# event manager applet track_3_23_down switch(config-applet)# event track 1 state down switch(config-applet)# action 1 syslog msg EEM applet track_3_23_down shutting down port eth1/2 due to eth3/23 being down switch(config-applet)# action 2 cli conf term switch(config-applet)# action 3 cli interface ethernet 1/2 switch(config-applet)# action 4 cli shut switch(config-applet)# end
Step 3 Configure an EEM event to bring up Ethernet interface 1/2 when Ethernet interface 3/23 comes up.
switch(config)# event manager applet track_3_23_up switch(config-applet)# event track 1 state up switch(config-applet)# action 1 syslog msg EEM applet track_3_23_down bringing up port eth1/2 due to eth3/23 being up switch(config-applet)# action 2 cli conf term switch(config-applet)# action 3 cli interface ethernet 1/2 switch(config-applet)# action 4 cli no shut switch(config-applet)# end