Cisco Embedded Event Manager Book
Hello All,
Can someone let me know if they're any books currently available which I focused purely on Cisco EEM?
I would very much like to learn/practice EEM. I appreciate there is a lot of samples here, however I would like a more structured approach to learning EEM.
Cheers
Carlton
There is no book dedicated to EEM. The "Tcl Scripting for IOS" book from Cisco Press does cover EEM in some detail, though.
Similar Messages
-
Cisco Embedded Event Manager Issue
Hello Experts,
I have taken the following sample EEM from
https://learningnetwork.cisco.com/blogs/network-sheriff/2009/06/19/writing-your-first-eem-applet
The intention is to send a notification to an email address about a network problem. I have modified it bit for illustrative purposes. You will see that there are various show commands.
Can someone please show me how to email the show commands instead just appending them to the directory called "server_unreachable"?
TechWiseTV4506(config)#eve
nt manager environment _email_server 172.16.1.44 (<-my Post Cast server)
TechWiseTV4506(config)#event manager environment _email_to [email protected]
TechWiseTV4506(config)#event manager environment _email_from [email protected]
event manager applet email_server_unreachable
event track 10 state down
action 1.0 syslog msg "Houston we have a problem. Ping failed, server unreachable!"
action 1.1 cli command "enable"
action 1.2 cli command "del /force flash:server_unreachable"
action 1.3 cli command "show clock | append server_unreachable"
action 1.4 cli command "show ip arp 172.16.1.55 | append server_unreachable"
action 1.5 cli command "show ip route 172.16.1.55 | append server_unreachable"
action 1.6 cli command "show interface FastEthernet0/1/1 | append server_unreachable"
action 1.7 cli command "more flash:server_unreachable"
action 1.8 mail server "$_email_server" to "$_email_to" from "$_email_from" subject "Server Unreachable: ICMP-Echos Failed" body "$_cli_result
action 1.9 syslog msg "Server unreachable alert has been sent to email server!"
Cheers
CarltonThis applet will actually email the results. However, in order to get all of the output together, it uses the server_unreachable file as an accumulator buffer. That file could be deleted as action 2.0:
action 2.0 cli command "delete /force flash:server_unreachable"
But that is already there in action 1.2, so it's not really needed.
What will happen is the applet will more the file to collect all of the output. That aggregated output will be stored in the $_cli_result variable. The result is that the body of your email will contain the consolidated command output. -
Cisco embedded event manager applet
Hi everyone,
Can someone please confirm me if we can use cisco eem applet in ASA firewall. I know its for sure used in IOS but whta bout firewall? if yes then please help me out.
Thanks in advance.i want to log-off a vpn tunnel if the VPN tunnel gets stuck. Can it be done on ASA firewall?
-
Hi team
I had open a post in lan switching for this particular problem and the expert from that forum has given the solution of embedded event manager so i need a help from this forum.
The probelm defination is==
Cisco 6509 (Core switch) connected to firewall on uplink side and on downlink its connected to 2 diffrent Cisco 6509 switches (Distribution) layer.All these links have been configured as Routed link and not as SVI.Now issue is when both the downlinks (coming from both distribution) switches go down i want to make the uplink from core to firewall to go down so that other core switch will take over and transfer teh traffic.
Attached diagram has details.tried configuring HSRP between 2 core switches but as teh links are routed link HSRP not working and both switches remain master but as on oppsite side Juniper firewall NSRP is implemented 2nd firewall not responding and core-2 ==fw2 link not transfer traffic.now when both the links of core go down link from core1-fw1 should go down so Fw2 will get active and will send traffic on link betwene core2-firewall2..please let me know what kind of configursation is required in EEM..Do the following (assuming you have a disk0:):
mkdir disk0:/policies
copy tftp://x.x.x.x/sl_intf_watch.tcl disk0:/policies
config t
event manager directory user policy disk0:/policies
event manager environment intf_watch_interfaces TenGigabitEthernet9/1,TenGigabitEthernet9/3
event manager environment intf_watch_uplink GigabitEthernet1/2
event manager policy sl_intf_watch.tcl
Where x.x.x.x is the IP address of your TFTP server.
After that, the policy is registered, and waiting for the interfaces to go down. -
Embedded Event Manager - SNMP - run TCL script
I would like to run a tcl script on a router using snmp. I understand Embedded Event Manager can do this but haven't found what I need to run that. Can someone point me in the right direction?
Yeah, you could do this, but it depends on your version of IOS. You will need EEM 3.1 or higher (15.0) to be able to intercept SNMP GET requests. Then, you could do something like:
event manager applet snmp-trigger event snmp-object oid 1.9.9.9.9 type gauge sync yes istable no action 1.0 policy my_tcl_policy.tcl action 2.0 snmp-object-value event-id _event_id gauge 0 next-oid 1.9.9.9.9.0 action 3.0 exit 1!snmp-server manager
Then, when you query 1.9.9.9.9.0 on the device, the Tcl policy "my_tcl_policy.tcl" should execute, and the snmp-trigger applet policy will return a value of 0.
Please support CSC Helps Haiti
https://supportforums.cisco.com/docs/DOC-8895
https://supportforums.cisco.com -
Monitoring PRI using Embedded Event Manager
Hi,
I am trying to use Embedded Event Manager to flag when calls on a pri get above
28 but its not working. I found an OID which shows number of calls currently on
the B Channels of a pri. I dropped the threshold to two just to check it was
functioning correctly. Config below:
event manager applet bchan-mon
event snmp oid 1.3.6.1.4.1.9.10.19.1.1.11 get-type exact entry-op gt entry-val
2 poll-interval 60
action exceeded syslog priority critical msg "All Chanels in Use"
I have done a debug and it says the OID is not found even though if i do a show
snmp mib i see the OID. Output below:
Feb 9 08:35:58.097: fh_process_async: re=445EF694, timer_type=POLL
Feb 9 08:35:58.097: snmp_entry_value_check: OID unavailable, value check
skipped
Feb 9 08:35:58.097: snmp_entry_value_check:Returning FALSE
Feb 9 08:35:58.097: fh_process_async: update_t=0cron_tick: num_matches 0
Has anyone successfullly used EEM to do this?
Any help appreciated.
Thanks
KevHi Joe,
I get this from an snmp walk:
rh019654@c_nnm_u > snmpwalk lr2196 1.3.6.1.4.1.9.10.19.1.1.11
cisco.ciscoExperiment.19.1.1.11.0 : Unsigned32: 0
The device is a cisco 2851 and the IOS is C2800NM-SPSERVICESK9-M 12.4(18e).
If i run a debug now after adding the 0 i dont get a OID error not found anymore but its still not flagging the message in the log when the amount of calls go above 2. See below:
Feb 10 09:43:17.774: fh_process_async: re=463448F0, timer_type=POLL
Feb 10 09:43:17.774: snmp_value_uint_compare:op1=0 op2=2 ret=FALSE
Feb 10 09:43:17.774: snmp_entry_value_check:Returning FALSE
Feb 10 09:43:17.774: fh_process_async: update_t=0
Thanks
Kev -
Embeded Event Manager on cisco 3560 switch
Can someone help me please? I have EEM configured on cisco 3560 switch. The configuration is below. I want that switch inform me through email when device with particilular IP address become unavailable. For some reason this configuration is not good and I can't tell why. I already try to debug this with debug event manager action mail but didn't see any output .
ip sla 11
icmp-echo ip address
frequency 20
ip sla schedule 11 life forever start-time now
event manager applet device-TEST
event snmp oid 1.3.6.1.4.1.9.9.42.1.2.9.1.6.11 get-type exact entry-op lt entry-val "2" poll-interval 20
trigger occurs 5 period 120
action 02.0 mail server "ip address" to "[email protected]" from "[email protected]" subject "device is down"The mail part looks good, I'm not sure you are hitting the trigger right.
Why not do a track on the ip sla instead of the snmp stuff?
Here's a good example of that.
https://learningnetwork.cisco.com/blogs/network-sheriff/2009/06/19/writing-your-first-eem-applet -
Training and Event Management booking date
Hi,
I am working on Training and Event Management cube 0PE_C01. One of the requirements of a query is to show the booking date of the course.
I have looked in business content for other cubes i have checked info object and 0event, i have also checked datasource 0HR_PE_1 but I can not find anywhere this information is being extracted into BW.
Does anyone know how if this info is available or would i have to ammend the datasource to bring this info in.
Thanks
Forhadany ideas anyone.. or am i left with appending the datasource for booking date
-
Problem with Embedded Event Manager and Object Tracking
Hi,
I have a 2801 running c2801-advipservicesk9-mz.124-24.T2.bin. It has the following configuration:
track 300 list boolean or
object 10
object 11
object 12
object 13
event manager applet clear_ipsec_tunnel
event track 300 state down
action 1.0 cli command "enable"
action 2.0 cli command "clear crypto session"
action 3.0 syslog msg "IPSec tunnel has been cleared by clear_ipsec_tunnel applet"
My problem is that after the tracked object number 300 transitions from an up state to a down state, nothing happens. It seems like the applet doesn't work with object tracking. Here's what I see in logs:
Dec 7 21:52:32.236 MCK: %TRACKING-5-STATE: 12 ip sla 12 reachability Up->Down
Dec 7 21:52:37.236 MCK: %TRACKING-5-STATE: 13 ip sla 13 reachability Up->Down
Dec 7 21:52:57.236 MCK: %TRACKING-5-STATE: 10 ip sla 10 reachability Up->Down
Dec 7 21:53:07.236 MCK: %TRACKING-5-STATE: 11 ip sla 11 reachability Up->Down
Dec 7 21:53:07.996 MCK: %TRACKING-5-STATE: 300 list boolean or Up->Down
That's it. For some reason, the applet won't execute the CLI commands when the EEM applet is triggered. Am I doing something wrong or I have encountered some bug? Thanks.jclarke,
Today I added the router into the tacacs server database and the applet started working just fine by using my login name. So the working configuration looks like this:
event manager session cli username "my login name"
event manager applet clear_ipsec_tunnel
event track 300 state down maxrun 30
action 1.0 cli command "enable"
action 2.0 cli command "clear crypto session"
action 3.0 syslog msg "IPSec tunnel has been cleared by clear_ipsec_tunnel applet"
Then I tried to use a login name from the local database that has "privelege 15" access and of course the debug output showed me this:
Dec 8 18:12:58.203 MCK: %TRACKING-5-STATE: 300 list boolean or Up->Down
Dec 8 18:12:58.203 MCK: fh_track_object_changed: Track notification 300 state down
Dec 8 18:12:58.203 MCK: fh_fd_track_event_match: track ED pubinfo enqueue rc = 0
Dec 8 18:12:58.215 MCK: fh_send_track_fd_msg: msg_type=64
Dec 8 18:12:58.215 MCK: fh_send_track_fd_msg: sval=0
Dec 8 18:12:58.219 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : CTL : cli_open called.
Dec 8 18:12:58.227 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT : Router>
Dec 8 18:12:58.227 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : IN : Router>enable
Dec 8 18:12:58.747 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT : Command authorization failed.
Dec 8 18:12:58.747 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT :
Dec 8 18:12:58.747 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT : Router>
Dec 8 18:12:58.747 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : IN : Router>clear crypto session
Dec 8 18:12:58.771 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT : ^
Dec 8 18:12:58.771 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT : % Invalid input detected at '^' marker.
Dec 8 18:12:58.771 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT :
Dec 8 18:12:58.771 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : OUT : Router>
Dec 8 18:12:58.775 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel: IPSec tunnel has been cleared by clear_ipsec_tunnel applet
Dec 8 18:12:58.775 MCK: %HA_EM-6-LOG: clear_ipsec_tunnel : DEBUG(cli_lib) : : CTL : cli_close called.
So I guess this problem arises when you have command authorization enabled and the tacacs server is not reachable or something like that. I have tried to find a way to use the local database instead of using the aaa server but didn't succeed. Although I have found an interesting workaround. Here it is:
Link: http://blog.ioshints.info/2007/05/command-authorization-fails-with-eem.html
Workaround found after reading the "Executing IOS commands from Tcl shell" from the "Tclsh on Cisco IOS tutorial".
On the above article it is mentionned that the ios_config command is executed inside the context of another VTY line (also found with the AAA debug). The workaround is to define the FIRST VTY line with "transport input none" to prevent ssh or telnet to grab it and to configure the aaa authorization without any command authorization for this line.
Kind regards
Christian Chautems
Looks great, but I am not quite sure how to "configure the aaa authorization without any command authorization for this line".
Anyway, jclarke thank you so much for taking your time to look into my problem and for your help. -
Training and event management: Book Attendee List for Business Event List
Dear all,
I know this:
PV07: book attendee list for business event
PV08: book attendee for business event list
Is there a tcode to book an attendee list for a business event list
Thanks a lot in advance!Hi Federico,
I think.., no. Below are the tcodes available to book attendee,
PV00 Book attendee for business event
PV01 Rebook attendee for business event
PV02 Prebook
PV03 Replace
PV04 Cancel
PV07 Book attendee for list for Business event
PV08 Book attendee for business event list.
Let me know if you found tcode for your requirement.
Thanks,
Karunakar -
Embedded Event manager scripting help
Hello,
I'm looking into a way to do the following:
If pinging of BGP peer detects packet loss, or circuit flapping, lets say 5 flaps in 60 secs, then I'd like the bgp peering to go into admin down state.
Would be nice if it also recovered on its own when 1hour or X of stability was detected.
Thank youI found a good doc and think i'll be going with this:
IP SLA 3
icmp-echo X.X.X.X source-interface GIGXXXX
IP SLA schedule 3 life forever start-time now
track 3 ip sla 3 reachability
delay up XX
event manager applet WAN_DOWN
event track 3 state down
action 1.0 syslog msg "Packet loss or Primary WAN cct loss detected"
action 2.0 cli command "enable"
action 3.0 cli command "config t"
action 4.0 cli command "router bgp XXXXX"
action 5.0 cli command "neighbor X.X.X.X shut"
action 6.0 cli command "end"
action 7.0 syslog msg "BGP neighbor placed in Admin Down because of packet loss to Peer"
event managet applet wan_up
event track 3 state up
action 1.0 syslog msg "WAN network restored"
action 2.0 cli command "enable"
action 3.0 cli command "config t"
action 4.0 cli command "router bgp XXXXX"
action 5.0 cli command "no neighbor x.x.x.x shut"
action 6.0 cli command "end"
action 7.0 syslog msg "BGP neighbor was brought up due to sustained comm with Peer" -
SAP Training and Event Management Booking an attendance
Dear Experts,
Session is not created in SM35 ,when i book attendance in Transaction PV00 for a business event,
when i click book, the system gives message as attendee is booked and attendance is updated, but the pop up for creating the session in sm35 is not comming. and the attendance is also not updated in the infotype 2002.
Note: I have activated the integration between Time and TEM
I have given the attendace type for attendee and instructor in the table
Please let me know the reason for not updating the attendance infotype
Thanks
ShekarHi Shekar
Since you said that you have activated integration b/w Time and TEM, and you have maintained Attendance Type for both Instructor and Attendee let us look at the options.
In SM35 session gets created only when the Payroll Area is locked and if you try to book an attendee or Instructor during that period. In other circumstances system will create the attendance for both Instructor and Attendee as soon as they are booked for a course.
I would suggest you to check if the Infotype 0007 is maintained for those attendees/instructors for whom you are facing problem and also please check Course Type's 1026 (Course Type Info) Infotype settings.
Hope this helps. Do let me know if you still face this issue.
Best Regards
Reddy -
Embedded Event Manager Versions on Routers
Hello Community,
Can someone please tell me if its possible to load a EEM version on a 3600 higher than 2.1 or on a 3700 higher than 2.2?
Cheers
CarltonThe EEM version is fixed to the IOS. See https://supportforums.cisco.com/docs/DOC-8799 on how to figure out what version is available on your device. EEM 2.2 requires 12.4(2)T or higher and 2.3 requires 12.4(11)T or higher.
-
Event Manager question. Monitoring DNS entry.
Hello everybody,
I want to use Cisco Embedded Event Manager in a router for monitoring a DNS entry that normally resolves 1.1.1.1 but if it changes to 2.2.2.2 the router has to change some access list automatically in order to permit different routes.
I know how to configure de "action" sentences for change the ACLs but I dont know how to configure a track or a SLA in order to check the DNS entry and react if it changes.
Someone knows how to do that?
event manager applet ChangeRoutesWhenDNSEntryChanges
event track 21 state ??????????????????????????????????????????????????<----------
action 1.0 cli command "enable"
action 2.0 cli command "configure terminal"
action 3.0 cli command "ip access...
Thank you in advance!!
Marcos.Indeed, I just provided the above example to demonstrate how we can force a DNS lookup and parse the IP address...
I was actually thinking about using the IP SLA DNS probe, but I could not find a way to get the IP address from the results... It just shows the response time.
In order to make the script work, we would most likely need to use some timer to trigger it periodically.
This is an adaptation of my previous example to actually accomplish a periodic check:
event manager applet CHECK-DNS
event timer watchdog time 60
action 1.0 cli command "ena"
action 1.1 cli command "ping host1 repeat 1 timeout 0"
action 2.0 regexp "ICMP Echos to (.*), timeout is 0 seconds:" "$_cli_result" _match _ip
action 3.0 if $_ip ne 1.1.1.1
action 4.0 syslog msg "host1 is now $_ip"
action 5.0 end
If you want to do something as a reaction to detecting the change, that would have to go into the "4.0" block (you can use 4.1, 4.2 etc)
Another thing to consider is that this script would run every minute, so as long as the DNS query resolves to anything but 1.1.1.1 we would re-apply the config changes, which is not that good...
A way to solve this can be seen in the next example:
event manager applet HOST1-NOT-1.1.1.1
event timer watchdog time 60
action 1.0 cli command "ena"
action 1.1 cli command "ping host1 repeat 1 timeout 0"
action 2.0 regexp "ICMP Echos to (.*), timeout is 0 seconds:" "$_cli_result" _match _ip
action 2.1 track read 100
action 3.0 if $_ip eq 1.1.1.1
action 4.0 if $_track_state eq down
action 4.1 track set 100 state up
action 4.2 syslog msg "host1 is now 1.1.1.1 again"
action 4.9 end
action 5.0 else
action 6.1 if $_track_state eq up
action 6.2 track set 100 state down
action 6.3 syslog msg "host1 is not 1.1.1.1, new ip is $_ip"
action 6.9 end
action 7.0 end
Basically we are using a stub tracking object to maintain state. Track object 100 would be up if we know host1=1.1.1.1, but if we detect it is something else we change it to down. Only after we detect that host1=1.1.1.1 again we change the track object back to up, which would enabled detecting another change...
Any actions you want to take should go into section "6" and any clean up (when host1=1.1.1.1 again) has to go into section "4".
It is possible to make this detect any change and not just have a static 1.1.1.1 value by assigning the newly detected value to a variable and basically look for a change... Not sure what is your requirement.
The output below shows how this works...
Router#show run | inc ip host
ip host host1 1.1.1.1
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip hos
Router(config)#ip host host1 2.2.2.2
Router(config)#^Z
Router#
*Nov 9 18:23:18.009: %TRACKING-5-STATE: 100 stub Up->Down
*Nov 9 18:23:18.021: %HA_EM-6-LOG: HOST1-NOT-1.1.1.1: host1 is not 1.1.1.1, new ip is 2.2.2.2
Router#
*Nov 9 18:23:18.065: %SYS-5-CONFIG_I: Configured from console by console
Router#
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip host host1 1.1.1.1
Router(config)#^Z
Router#
*Nov 9 18:23:42.805: %SYS-5-CONFIG_I: Configured from console by console
Router#
*Nov 9 18:24:18.025: %TRACKING-5-STATE: 100 stub Down->Up
Router#
*Nov 9 18:24:18.033: %HA_EM-6-LOG: HOST1-NOT-1.1.1.1: host1 is now 1.1.1.1 again -
There are 3 books on SAP Event Management out there:
SAP Event Management - SAP's best kept secret...
Title: SAP Event Management - SAP's best kept secret
ISBN: 978-0-9842350-1-8
Author: Kevin Wilson, Author Profile: Amazon
Publisher: Genie Press, Published: 2/5/2010
Book website: Genie Press
Available at: Genie Press, Amazon
SAP Event Management - Das umfassende Handbuch (German)
Title: SAP Event Management - Das umfassende Handbuch, Language: German
ISBN: 978-3836215510
Authors: Berthold Hege, Jens Kappauf, Bernd Lauterbach, Frank Overgoor, Rob Uljee
Publisher: SAP Press, Published: August 2010
Available at: Amazon
Implementing and Configuring SAP Event Management
Title: Implementing and Configuring SAP Event Management
ISBN: 978-1-59229-316-2
Author: Sandeep Pradhan
Publisher: SAP Press, Published: 2010
Book website: SAP Press
Available at: SAP PressThanks Kevin.
Maybe you are looking for
-
Is it safe/secure to enter one's Apple id and password (e.g., email, icloud, Facetime, iTunes, etc.) when attached to a public wifi? I would imagine this applies to any iOS mobile device. I need to set up a video conference at a local library meetin
-
Mass Assignment of sales organization to products
Hello experts, I'd like to ask if anyone knows an easy way to maintain, mass update all products or products of a category with tha sales data????? A trans. or report or smth, to assign the sales area XXX to all the products of the category YYYY. Tha
-
Greetings! We are trying to make it easier for customers to find solutions on our web site, and I would like your feedback. We are considering changing the titles on documents so that the area of the site is displayed prominently in the title. Thus,
-
Cursor doesn't focus to the newly created row.
I am using JDeveloper 11.1.1.4 . Whenever I create a new row in adf table, the cursor doesn't focus to the new row.It always focuses to the last row which clicked before adding the new row.
-
Getting inappropriate "insufficient privileges" errors
I have a PL/SQL stored procedure which, if necessary, gets current values from a sequence, drops the sequence, and re-creates the sequence with the "start with" value higher than the max value of the column the sequence associated with. Often, maybe