cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
677
Views
0
Helpful
7
Replies

Tuning EEM parameters

seabird505
Level 1
Level 1

Hi

We have the following config in place to install a backup route when the primary goes down and vice-versa.

rtr 10

type echo protocol ipIcmpEcho 10.160.127.254

timeout 1000

frequency 3

request-data-size 32

rtr schedule 10 life forever start-time now

!

event manager applet EEM_PRIMARY_DOWN

event snmp oid 1.3.6.1.4.1.9.9.42.1.2.9.1.6.10 get-type exact entry-op eq entry-val 1 exit-op eq exit-val 2 poll-interval 3

action 1.0 syslog msg "Primary link DOWN - Failing over to backup link"

action 1.1 cli command "enable"

action 1.2 cli command "configure terminal"

action 1.3 cli command "no ip route 111.111.111.0 255.255.255.0 10.160.127.254"

!

event manager applet EEM_PRIMARY_UP

event snmp oid 1.3.6.1.4.1.9.9.42.1.2.9.1.6.10 get-type exact entry-op eq entry-val 2 exit-op eq exit-val 1 poll-interval 3

action 1.0 syslog msg "Primary link UP - Failing over to primary link"

action 1.1 cli command "enable"

action 1.2 cli command "configure terminal"

action 1.3 cli command "ip route 111.111.111.0 255.255.255.0 10.160.127.254"

!

Even if there is a single echo failure detected by RTR. It triggers the event. This is what log states:

Jul  7 06:28:53.361: %HA_EM-6-LOG: EEM_PRIMARY_DOWN: Primary link DOWN - Failing over to backup link
Jul  7 06:28:56.361: %HA_EM-6-LOG: EEM_PRIMARY_UP: Primary link UP - Failing over to primary link

Jul  7 06:44:53.741: %HA_EM-6-LOG: EEM_PRIMARY_DOWN: Primary link DOWN - Failing over to backup link
Jul  7 06:44:56.741: %HA_EM-6-LOG: EEM_PRIMARY_UP: Primary link UP - Failing over to primary link

Jul  7 08:59:03.048: %HA_EM-6-LOG: EEM_PRIMARY_DOWN: Primary link DOWN - Failing over to backup link
Jul  7 08:59:06.048: %HA_EM-6-LOG: EEM_PRIMARY_UP: Primary link UP - Failing over to primary link

Jul  7 12:01:52.248: %HA_EM-6-LOG: EEM_PRIMARY_DOWN: Primary link DOWN - Failing over to backup link
Jul  7 12:01:58.256: %HA_EM-6-LOG: EEM_PRIMARY_UP: Primary link UP - Failing over to primary link

I tried changing the values of "rtr frequency" and "event snmp oid poll-interval" but the whenever the event applet is polled and the most recent echo has missed, event is triggered.

1. Can this be optimised?

2. Is there a way to trigger the event only when X echos are missed in Y seconds i.e. 3 echos are missed in 16 seconds based on the timers above.

Thanks.

7 Replies 7

Joe Clarke
Cisco Employee
Cisco Employee

Hmmm, using the SNMP object you're using, no. This object will change the moment a timeout occurs.  What version of IOS is this?

Thanks for answering.

Its Cisco 6506 running 12.2(18)SXF15, RELEASE SOFTWARE (fc1)

With this version of code, it will not be possible to do what you want in applet code.  If you can configure object tracking for these IP SLA collectors (with delay down), you can use Tcl to watch the ouput of "show track" to see if the collectors have timed out.  I don't have SXF15 handy with which to test, but it should be doable.  Is object tracking available for you?

No the current IOS version doesn't support "ip sla" or object tracking based on RTR. Its a production system so a quick IOS upgrade just for this reason is not an option.

Seems I cann't eliminate these false alarms. I will try tunning the parameters "frequency" and "poll-interval" to get the least number of false alarms while ensuring failover is not too slow as well.

You could still do this with Tcl and the output of "show rtr coll" and "show rtr oper".  If the operational state is timeout, and the number of timeouts has increased over your xOfy threshold, then you can perform the actions.  This will involve you saving the current number of timeouts in an EEM context.  Is Tcl something you can use on this switch?

Thanks Joe !

Sounds interesting. TCL script will monitor a parameter in the output of "show rtr coll" or "show rtr oper" and will trigger EEM action only when the X timeouts in Y seconds condition is met.  I will try this in test lab first.

Can you point me to an example script for this or similar scenario.

This version uses the "show rtr" commands to only run the required commands when the number of timeouts reaches a threshold.  You'll need to register two environment variables:

event manager environment rtr_watch_id 1

event manager environment rtr_watch_threshold

Where is your X value (i.e. how many timeouts do you want before the commands are run).

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: