Guest

Cisco IOS Embedded Event Manager (EEM)

Cisco IOS® Embedded Event Manager Data Sheet

  • Viewing Options

  • PDF (146.6 KB)
  • Feedback

Last updated: January 2009

Product Overview

The Cisco IOS ® Embedded Event Manager (EEM) is a unique subsystem within Cisco IOS software. EEM is a powerful and flexible tool to automate tasks and customize the behavior of Cisco IOS and the operation of the device. Customers can use EEM to create and run programs or scripts directly on a router or switch. The scripts are referred to as EEM Policies and can be programmed using a simple CLI-based interface or using a scripting language called Tool Command Language (TCL). EEM allows customers to harness the significant intelligence within Cisco IOS Software to respond to real-time events, automate tasks, create customer commands and take local automated action based on conditions detected by the Cisco IOS Software itself.
The latest version of the EEM subsystem within Cisco IOS is EEM v3.0.

Applications

The applications are endless and only limited by your imagination.
Suppose, for example, you would like to automatically configure a switch interface depending on the device that is connected to a port or interface, an IP phone. A script can be devised that is triggered on the interface up condition and determines the details of the connected device. Upon discovery and verification of a newly connected IP phone, the port can be automatically configured according to prescribed parameters.
Another example might be to react to an abnormal condition such as the detection of a high error rate on an interface by forcing transit traffic over a more stable and error-free path. EEM can watch for the increased error rate and trigger a policy into action. The policy could notify network operations personnel and take immediate action to reroute traffic.
A third example might be to collect detailed data upon detection of a specific failure condition in order to gather information that can allow the root cause of the problem to be determined faster leading to a lower mean time to repair and higher availability. EEM could detect a specific Syslog message and trigger a script to collect detailed data using a series of show commands. After automatically collecting the data, it can be saved to flash memory or sent to an external management system or via email to a network operator.
The control is in the network administrator's hands. You control what events to detect and what actions to take. EEM is optional-it is up to the network administrator if and when it should be used and only takes the actions you program it to take.

Features and Benefits

Cisco IOS Embedded Event Manager provides a level of embedded systems management not previously seen in Cisco IOS Software. Over twenty event detectors provide an extensive set of conditions that can be monitored and defined as event triggers. The system is extensible with new capabilities and further subsystem integration is planned. The feature is mostly product independent and available across a wide range of Cisco products. Each new version of the EEM feature introduces new event detectors or new capabilities. Consult Cisco documentation for detailed information.

EEM Version 3.0

The latest version of the EEM subsystem is EEM v3.0. This version ushers in a significant number of enhancements over previous versions. This development enhances the performance, increases feature integration, adds new capabilities, and extends the flexibility, so EEM can be used in new and exciting ways. Included in EEM v3.0:

Four New Event Detectors

• Routing Event Detector

– Monitors the events relative to the Routing Information Base (RIB). Events are raised for conditions such as when a particular route is added or removed, or when a route is modified.

• Flexible NetFlow Event Detector

– Detects events related to Flexible NetFlow.

– Provides a powerful set of triggers to detect and react to real-time network activity.

– Triggers policies based on the detection of flows that match particular criteria such as when a new flow is seen with a particular destination IP address and port number; or detect conditions such as when the rate of new flow entries exceeds some threshold defined.

• IP SLA Event Detector

– Provides event triggers based on IP SLA operation results.

– Integrates IP SLA directly with the EEM subsystem.

– Provides an event-driven mechanism to take immediate action when an IP SLA operation fails. For example, take local action to direct traffic out another interface, when an IP SLA icmp-echo operation that pings a headquarters server over the current interface every three seconds, fails three times in a row.

• Enhanced CLI Event Detector

– Offers enhancements to make creation of your own custom CLI commands easier and more powerful.

– Provides new event triggers when special characters like "Tab", "?", and the "Enter" key are seen. Provides a way for you to offer `help' for your new commands and make them similar to Cisco-developed commands.

High Performance "Turbo" TCL Policies

• Provides an order-of-magnitude increase in event handling.

• Up to 150 events per second depending on the product.

SNMP Library TCL Extensions

• Provides actions for Get, Set, and Notify for local and remote SNMP devices.

• Offers more power to communicate with neighbor devices or to interrogate local MIB variables from within your policies.

Enhanced Interactive Applets

• Increases the power of the EEM Applet (CLI-based) policies.

• Do more without resorting to TCL-based policies.

• Includes support for variables and logical functions and if-then-else constructs.

CLI Library Support for XML Programmable Interface

• Provides a set of TCL library functions to facilitate the parsing of output from the Cisco IOS CLI "format" extension in the form of:

show <show-command> | format {spec-file}

• Makes extracting data from the Cisco IOS CLI within EEM policies easier.

Support Authenticating SMTP Email Servers

• More practical support for email actions

Class-Based Scheduling

• Power users have the ability to schedule policy execution according to specific requirements

Digital Signature Support

• Infrastructure is included to verify policies that are digitally signed by Cisco.

Additional Support for IPv6

• The SNMP proxy feature introduced in EEM 2.4 has been enhanced to support IPv6

• SMTP actions have been enhanced to support IPv6

Table 1. Features and Benefits

Feature

Benefit

Extensible and Powerful Subsystem Architecture

Architecture

The EEM subsystem is designed with modularity in mind; it consists of Event Detectors, an Event Manager Server, and action routines called Policies

CLI Interface

An interface to the Cisco IOS CLI to allow automated commands and access to any information that can be displayed; includes support for XML Programmable Interface from within EEM policies

Policy Scheduler

EEM policies are scheduled one at a time or concurrently according to the number of threads configured; an enhanced class-based scheduling option for fine control over policy execution

Built-In Actions

Policies can invoke a number of built-in actions for easy automation

Extensive Set of Event Detectors (ED)

Application

Custom application events, action script interaction

Enhanced Cisco IOS CLI ED

CLI command match and run with even more capabilities for creating your own commands

Counter

Custom counter events

GOLD

Generic On-Line Diagnostics (GOLD) event detection

Interface

Interface counters and events

IP SLA

Tighter integration with the SLA monitoring and measurement subsystem; easy event triggers and automation when conditions are not satisfactory

Memory Threshold (Deprecated)

Detect memory resource-related events

NetFlow

Event triggers based on traffic flow; many uses from capacity planning to DoS alert and automated actions

None (by Run Command)

Allows execution of an EEM policy by direct command, event manager run

Object Tracking

Integration with Enhanced Object Tracking (EOT)

OIR

Card Online Insertion and Removal detection

Remote Procedure Call

Allows for authorized programs outside of the device to invoke specific device-resident, embedded policies by sending a SOAP request over an SSHv2 connection

Resource Threshold

Integration with Embedded Resource Manager, supersedes Memory Threshold ED

RF

Cisco IOS infrastructure Redundancy Facility (RF) events

Routing

Event triggers based on routing changes

SNMP

Detect MIB Variable match and thresholds

SNMP Proxy

Creates events when a specified SNMP trap or inform is received at the device; this allows for policies to be triggered by events from other devices

Syslog

Regular expression pattern match on emitted Syslog messages

Timer

Custom-timed events

Cisco IOS Watchdog Monitor

Cisco IOS scheduler, watchdog events

WDSysMon

Cisco IOS Software Modularity; system monitor event

Secure System Operation

EEM Scripts Run within System Constraints

Protects system from harm, i.e. a looping script will not stop Cisco IOS

User Scripts Run in Safe-TCL Mode

Certain programmable options are disabled for protection

Controlled Environment

Only a network administrator with privileged access can define and set up EEM scripts; no one else can install software to compromise the system

Support for TACACS+/RADIUS

EEM scripts can be associated with a configured User ID; all CLI commands issued by the scripts are authorized before they are executed

EEM Is Optional

If you don't want to use this powerful capacity, you don't have to enable it

Online Scripting Community

Cisco Beyond-Product Extension Community

A place for customers to share and download scripts; don't reinvent the wheel-build and extend the work of others-learn by example; see http://www.cisco.com/go/ciscobeyond

Product Architecture

The Cisco IOS Embedded Event Manager is a primarily product independent software feature consisting of a series of Event Detectors, an Embedded Event Manager Server, and interfaces to allow action routines called Policies to be invoked. There are also internal application programming interfaces for other Cisco IOS subsystems to take advantage of the EEM subsystem. The diagram in Figure 1 illustrates the EEM components.

Figure 1. EEM Architecture

Notice there are two types of EEM Policies:

• Applet Policies-Easy-to-use interface, defined using the configuration CLI

• TCL Policies-More flexible and extensive capabilities, defined using the TCL programming language

Once one or more policies are defined, the Event Detector software will watch for the conditions that match those defined by the policy. When a condition occurs, the event is passed to the Event Manager Server. The server then invokes any policy that has registered for that particular event. The actions defined within the policy are then carried out.
Each type of event has specific options, parameters and detailed information that is available to the policy when it is invoked. All of these details are described in the Cisco IOS documentation.

Feature Specifications

Please use the Cisco IOS Feature Navigator application on Cisco.com to check the latest information on software and product availability. Click on http://www.cisco.com/go/fn. The following table includes the EEM feature availability information.

Table 2. Feature Specifications

Feature

Specifications

Product Compatibility

EEM is available for the Cisco Catalyst 6500 Series Switches, Cisco Integrated Services Routers, Cisco 7200 Series Routers, Cisco 7300 Series Routers, Cisco 7600 Series Routers, Cisco 10000 Series Routers; EEM is also available for the Cisco Catalyst 4500 Series Switches and the Cisco Catalyst 3700 Series Switches and the ASR-1000 Series Routers; please refer to the Cisco IOS Feature Navigator for the latest device support information

Software Compatibility

EEM is available in Cisco IOS Software Release 12.2SX, 12.2SR, 12.2SB, 12.4, and 12.4T, 12.2SG, 12.2SE, Cisco IOS XE and future versions; the EEM function is also included in Cisco IOS XR and Cisco NX OS

Software Packaging

Some Cisco products require an enhanced feature set license to acquire support for EEM; please refer to the Cisco IOS Feature Navigator for the latest packaging information

System Requirements

The EEM software subsystem will consume CPU and memory resources in its operation. TCL-based policies reside on flash and will take up space. Customers should examine the operation in their environment to ensure resources exist for their specific scenarios. Some basic guidelines are included in Table 3.

Table 3. System Requirements

Resource

Guidelines

Disk Space

TCL-based policies are files stored on flash disk; the amount of space required depends on the size and number of policies and any programmed storage requirements

Hardware

CPU utilization requirements are solution-dependent

Memory

Each TCL-based policy will use approximately 500 KB when initialized; beyond that, utilization is specific to the policy's operational requirements

Software

A TCL interpreter is included within the Cisco IOS Software; the current version is TCL 8.3.4

Service and Support

Using the Cisco Lifecycle Services approach, Cisco and its partners provide a broad portfolio of end-to-end services and support that can help increase your network's business value and return on investment. This approach defines the minimum set of activities needed, by technology and by network complexity, to help you successfully deploy and operate Cisco technologies and optimize their performance throughout the lifecycle of your network.
Customers authorized for service and support may contact the Cisco Technical Assistance Center (TAC) for issues related to EEM. The TAC will resolve problems related to the operation of the EEM infrastructure. Help for script logic problems will be provided on a best-effort basis.
More extensive script development services are available on request.

For More Information

For more information about the Cisco IOS Embedded Event Manager, visit http://www.cisco.com/go/eem or contact your local account representative or send email to askabouteem@cisco.com.