Content deleted Content added
Overwrite page |
Rescuing 3 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(48 intermediate revisions by 25 users not shown) | |||
Line 1:
{{Short description|Cisco IOS automation feature}}
''(Cisco EEM stands for Embedded Event Manager)''▼
{{no footnotes|date=November 2015}}
Cisco '''Embedded Event Manager''' ('''EEM''') is a feature included in [[Cisco IOS|Cisco's IOS operating system]] (and some other Cisco OSes such as IOS-XR, IOS-XE, and NX-OS) that allow programmability and automation capabilities inside the device. EEM allows the behavior of a Cisco device to adapt to specific user requirements by allowing scripting, thresholding, proactive actions, data collection and event management inside the Cisco device itself. Using EEM, problems can be identified and resolved automatically in advance by setting event triggers (called Event Detectors) to watch for specific types of situations or thresholds, or run a set of actions periodically.▼
▲Cisco EEM is a feature included in Cisco's IOS operating system (and some other Cisco OSes such as IOS-XR, IOS-XE, and NX-OS) that allow programmability and automation capabilities inside the device. EEM allows the behavior of a Cisco device to adapt to specific user requirements by allowing scripting, thresholding, proactive actions, data collection and event management inside the Cisco device itself. Using EEM, problems can be identified and resolved automatically in advance by setting event triggers (called Event Detectors) to watch for specific types of situations or thresholds, or run a set of actions periodically.
==Cisco embedded management family==
When a situation is detected by EEM, it uses policies to invoke actions based on the type of event and the configured policy. EEM currently supports three different types of programming actions (see [[Embedded_event_manager#Programming_Capabilities|Programming Capabilities]] below).▼
EEM is a member of a family of embedded management technologies in Cisco IOS including SNMP, NetFlow, IP SLA,
▲When a situation is detected by EEM, it uses policies to invoke actions based on the type of event and the configured policy. EEM currently supports three different types of programming actions (see [[
With EEM, users can capture complex network events and run sophisticated programs on Cisco devices. The version of EEM on most Cisco devices is version 2.1,
▲EEM is a member of a family of embedded management technologies in Cisco IOS including SNMP, NetFlow, IP SLA, WSMA (Web Services Management Agent), Syslog, ESM (Embedded Syslog Manager), ERM (Embedded Resource Manager), EMM (Embedded Menu Manager), Tcl and Service Diagnostics.
▲== About EEM ==
▲With EEM, users can capture complex network events and run sophisticated programs on Cisco devices. The version of EEM on most Cisco devices is version 2.1, and the latest version is 3.0 which was introduced in IOS 12.4(22)T. EEM consists of three areas; Event Detectors, Policies and Programming languages.
▲=== Event Detectors ===
The brains of EEM are event detectors. These event detectors are built-in capabilities to watch for specific situations or conditions. Newer versions of EEM have more event detectors than older ones.
* [[SNMP]]
* OIR (Online Insertion and Removal)
* CLI [[
* [[Syslog]]
* [[XML-RPC]]
* [[IP
* [[NetFlow]]
* Application specific event
Line 38 ⟶ 34:
* Counter
* GOLD (Generic OnLine Diagnostics)
* Environmental
* Routing
* Enhanced Object
* None (launch the event manually)
===
Policies determine what is run when an event is detected. Policies save users from having to enumerate an action for every possible event.
===
EEM supports three methods of programmability and scripting.
# Applets - these allow CLI to be run when a certain set of conditions occurs
# [[Tcl]] - when more complex programs need to be built, EEM supports
# IOS.sh - newer versions of IOS support IOS.sh (IOS shell) macros similar to Linux bash shell
==
{| class="wikitable"
|-
Line 70 ⟶ 65:
! 12.3(14)T1, 12.2(28)SBC, 12.2(33)SR
! 12.2(18)SXF4 (IOS with modularity) 12.2(18)SXF5 (IOS)
! 12.4(2)T, 12.2(33)SRB1, 12.4(11)T (EEM 2.3), 12.2(33)SRC (EEM 2.3), 12.2(33)SXH (EEM 2.3)
! 12.4(20)T, 12.2(40)SE, 12.2(40)SG, 12.2(33)SXI
! 12.4(22)T
Line 93 ⟶ 88:
|-
| Watchdog, Counter, Interface Counter, Timer, Application-Specific EDs
|
| X
| X
Line 165 ⟶ 160:
|}
==
There are four steps to setting up an EEM system. In this example, we will get an email of the status of the system when the [[HSRP]] state changes. This
# {{mono|event manager environment _email_server 172.27.121.177}} ''<span style="color:blue;"><-- define the environment variable</span>''
# {{mono|action 1.5 mail server "$_email_server" to "$_email_to" from "$_email_from" subject "HSRP_STATE_CHANGE Alert from $_info_routername: $_syslog_msg" body "$_cli_result"}} ''<span style="color:blue;"><--
==Network management software and tools support==
[[Network management Software]] utilizing EEM include:
* [http://progrizon.com/products/tools-overview.html Progrizon: EEM Deployment Application Suite and EEM Policy Builder] {{Webarchive|url=https://web.archive.org/web/20110715120502/http://www.progrizon.com/products/tools-overview.html |date=2011-07-15 }}
* [http://www.davranetworks.com Davra Networks: EEM Solutions]
▲3. event manager environment _email_from EMAIL_ADDRESS (define the address from which the email will be sent)
<references/>▼
== Further reading ==
▲4. event manager applet email_hsrp_state_change (set up the policy)
* {{cite book|chapter=Embedded Event Manager (EEM)|title=TcL Scripting for Cisco IOS|series=Networking Technology Series|first1=Ray|last1=Blair|first2=Arvind|last2=Durai|first3=John|last3=Lautmann|publisher=Cisco Press|year=2010|isbn=9781587059452}}
==External links==
▲5. event syslog pattern ".*%HSRP-5-STATECHANGE.*" (define the trigger)
* [http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6555/ps6815/datasheet_c78-492444.html EEM Data Sheet]
▲6. action 1.0 info type routername (obtain the current device hostname and place it in the $_info_routername variable)
▲7. action 1.1 cli command "enable" (actions such as writing to flash, making config changes, etc. require enable privilege)
▲8. action 1.3 cli command "show standby | append flash:hsrp_state_change.txt" (write some debugging output to flash)
▲9. action 1.4 cli command "show standby brief | flash:append hsrp_state_change.txt“ (more debugging output)
▲ from $_info_routername: $_syslog_msg" body "$_cli_result" (send an email with the result of the last CLI command in the body of the message)
▲* [http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6555/ps6815/datasheet_c78-492444.html EEM Data Sheet]
* [http://www.cisco.com/go/eem Go EEM]
* [http://www.cisco.com/go/ciscobeyond EEM Scripting Community]
* [https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/eem/configuration/xe-16/eem-xe-16-book/eem-overview.html Embedded Event Manager Configuration Guide]
===EEM-Based Solution Development===
* [http://www.progrizon.com/index.html Progrizon, Inc. EEM Solution Development and Consulting] {{Webarchive|url=https://web.archive.org/web/20110715120534/http://www.progrizon.com/index.html |date=2011-07-15 }}
===Training===
* [http://progrizon.com/products/training-overview.html Progrizon, Inc. Training] {{Webarchive|url=https://web.archive.org/web/20110715120410/http://www.progrizon.com/products/training-overview.html |date=2011-07-15 }}
▲* [[CiscoWorks#LMS_Applications|CiscoWorks LMS]]
* [https://web.archive.org/web/20110715120414/http://www.progrizon.com/products/training-CIOSC.html Cisco IOS Automation and Customization (CIOSC)]
* [https://web.archive.org/web/20110715120457/http://www.progrizon.com/products/training-ACEEM.html Advanced IOS Customization using EEM (ACEEM)]
▲== References ==
* {{cite web |url=https://aboutnetworks.net/cisco-eem/ |title=Cisco Embedded Event Manager (EEM) |website=aboutnetworks.net}}
▲<references/>
[[Category:Cisco Systems]]
|