Jump to content






Photo - - - - -

IP SLA With EEM

Posted by MSSK , 04 August 2012 · 2,243 views

IP SLA With EEM Elements

Our network consists of 3 routers, R1 is the customer router, R2 and R3 will simulate ISPs
The goal is if the target IP address 2.2.2.2 is lost, a default route will be injected pointing to R3 and this will be monitored via an IP SLA configuration.
If the reach ability is maintained again, then the default route is removed , and again using the original default route via R2.

Configuration


R1#sh run int s0/0
interface Serial0/0
ip address 10.1.12.1 255.255.255.0
no fair-queue
clock rate 64000

R1#sh run int s0/1
interface Serial0/1
ip address 192.168.13.1 255.255.255.0
clock rate 64000

R1#sh run | sec router ospf
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 10.1.12.1 0.0.0.0 area 0

R1#sh run | sec ip route
ip route 0.0.0.0 0.0.0.0 10.1.12.2

R2#sh run int s0/0
interface Serial0/0
ip address 10.1.12.2 255.255.255.0
no fair-queue
clock rate 64000

R2#sh run int lo0
interface Loopback0
ip address 2.2.2.2 255.255.255.255

R2#sh run | sec router ospf
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 10.1.12.2 0.0.0.0 area 0

R3#sh run int s0/0
interface Serial0/0
ip address 192.168.13.3 255.255.255.0
clock rate 64000

IP SLA and EEM Configuration

R1#sh run | sec ip sla
ip sla monitor 2
type echo protocol ipIcmpEcho 2.2.2.2 source-interface Serial0/0
timeout 1000
frequency 2
ip sla monitor schedule 2 start-time now

R1#sh ip sla monitor statistics 2
Round trip time (RTT)   Index 2
    Latest RTT: 1 ms
Latest operation start time: *01:02:03.299 UTC Fri Mar 1 2002
Latest operation return code: OK
Number of successes: 12
Number of failures: 0
Operation time to live: 3577 sec


R1#sh ip sla monitor statistics 2
Round trip time (RTT)   Index 2
    Latest RTT: 1 ms
Latest operation start time: *01:02:05.299 UTC Fri Mar 1 2002
Latest operation return code: OK
Number of successes: 13
Number of failures: 0
Operation time to live: 3574 sec

Ok, our IP SLA is functioning properly, let us move now to the EEM configuration, we will rely on configuring the EEM on a specific SNMP OID 1.3.6.1.4.1.9.9.42.1.2.9.1.6 which refer to SNMP Object name rttMonCtrlOperTimeoutOccurred
According to Cisco’s explanation “This object is set to true when an operation times out, and set to false when an operation completes under rttMonCtrlAdminTimeout. When this value changes, a reaction may occur, as defined by rttMonReactAdminTimeoutEnable

event manager applet SLA_OUT
event snmp oid 1.3.6.1.4.1.9.9.42.1.2.9.1.6.2 get-type exact entry-op eq entry-val 1 exit-op eq exit-val 2 poll-interval 5
action 1.0 syslog msg "Test"
action 1.1 cli command "enable"
action 1.2 cli command "configure terminal"
action 1.3 cli command "ip route 0.0.0.0 0.0.0.0 192.168.13.3"
action 1.4 syslog msg "There is a problem on our Primary connection , move all the traffic to the Secondary Line"
event manager applet SLA_OK
event snmp oid 1.3.6.1.4.1.9.9.42.1.2.9.1.6.2 get-type exact entry-op eq entry-val 2 exit-op eq exit-val 1 poll-interval 5
action 1.0 syslog msg "OK"
action 1.1 cli command "enable"
action 1.2 cli command "configure terminal"
action 1.3 cli command "no ip route 0.0.0.0 0.0.0.0 192.168.13.3"
action 1.4 syslog msg "Our Primary connection is functionin again , stop using the Secondary Line"

Note: The bolded number is the same number as the configured IP SLA

Let us check R1’s routing table

R1#sh ip route 0.0.0.0
Routing entry for 0.0.0.0/0, supernet
  Known via "static", distance 1, metric 0, candidate default path
  Routing Descriptor Blocks:
  * 10.1.12.2
  Route metric is 0, traffic share count is 1

R1#debug event manager action cli

Let us now turn the loopback 0 interface of R2 off (our monitored target)

R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int lo0
R2(config-if)#shut

R1#
*Mar  1 01:11:43.591: %HA_EM-6-LOG: SLA_OUT: Test

*Mar  1 01:11:43.595: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : CTL : cli_open called.
*Mar  1 01:11:43.599: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT :
*Mar  1 01:11:43.603: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT : R1>
*Mar  1 01:11:43.603: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : IN  : >enable
*Mar  1 01:11:43.615: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT :
*Mar  1 01:11:43.615: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT : R1#
*Mar  1 01:11:43.615: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : IN  : #configure terminal
*Mar  1 01:11:43.627: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT :
*Mar  1 01:11:43.627: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT : Enter configuration commands, one per line.  End with CNTL/Z.
*Mar  1 01:11:43.627: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT : R1(config)#
*Mar  1 01:11:43.627: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : IN  : #ip route 0.0.0.0 0.0.0.0 192.168.13.3
*Mar  1 01:11:43.739: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT :
*Mar  1 01:11:43.739: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : OUT : R1(config)#
*Mar  1 01:11:43.739: %HA_EM-6-LOG: SLA_OUT: There is a problem on our Primary connection , move all the traffic to the Secondary Line

*Mar  1 01:11:43.739: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : IN  : #exit
*Mar  1 01:11:43.743: %HA_EM-6-LOG: SLA_OUT : DEBUG(cli_lib) : : CTL : cli_close called.

R1#sh run | sec ip route
ip route 0.0.0.0 0.0.0.0 10.1.12.2
ip route 0.0.0.0 0.0.0.0 192.168.13.3

We can see that a default route has been injected pointing to R3

R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int l
*Mar  1 01:13:17.115: %SYS-5-CONFIG_I: Configured from console by consoleo0
R2(config-if)#no shut

R1#sh run | inc ip route | ?
LINE    <cr>

R1#   
*Mar  1 01:13:25.695: %HA_EM-6-LOG: SLA_OK: OK

*Mar  1 01:13:25.699: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : CTL : cli_open called.
*Mar  1 01:13:25.703: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT :
*Mar  1 01:13:25.703: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT : R1>
*Mar  1 01:13:25.703: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : IN  : >enable
*Mar  1 01:13:25.715: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT :
*Mar  1 01:13:25.715: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT : R1#
*Mar  1 01:13:25.715: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : IN  : #configure terminal
*Mar  1 01:13:25.727: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT :
*Mar  1 01:13:25.727: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT : Enter configuration commands, one per line.  End with CNTL/Z.
*Mar  1 01:13:25.727: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT : R1(config)#
*Mar  1 01:13:25.727: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : IN  : #no ip route 0.0.0.0 0.0.0.0 192.168.13.3
*Mar  1 01:13:25.743: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT :
*Mar  1 01:13:25.743: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : OUT : R1(config)#
*Mar  1 01:13:25.743: %HA_EM-6-LOG: SLA_OK: Our Primary connection is functionin again , stop using the Secondary Line

*Mar  1 01:13:25.743: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : IN  : #exit
*Mar  1 01:13:25.743: %HA_EM-6-LOG: SLA_OK : DEBUG(cli_lib) : : CTL : cli_close called.
*Mar  1 01:13:25.755: %SYS-5-CONFIG_I: Configured from console by vty0

R1#sh run | sec ip route   
ip route 0.0.0.0 0.0.0.0 10.1.12.2

The default route pointing to R3 is gone now




great post, really usefull

good to know that 1 stands for false & 2 for true

is exit-value mandatory ? couldn't we use only :
event snmp oid 1.3.6.1.4.1.9.9.42.1.2.9.1.6.2 get-type exact entry-op eq entry-val 1 poll-interval 5
Hi , Thanks for the comment
Try the below command
R1(config-applet)#$42.1.2.9.1.6.2 get-type exact entry-op eq entry-val 2 ?
  average-factor  Period used for rate based calculations
  entry-type   Entry comparison type
  exit-comb    Exit combination operator
  exit-event   Raise an exit event upon exit
  exit-op Exit operator
  exit-time    Time before event monitoring is reenabled
  exit-type    Exit comparison type
  exit-val     Exit comparison value
  poll-interval   Poll interval value


And we are distinguishing between the first operation and the second one , object is set to true and false

BR,
MSSK

February 2020

S M T W T F S
      1
2345678
9101112131415
1617 18 19202122
23242526272829

Recent Entries

Recent Comments

Tags

    Search My Blog

    Categories

    Organization

    Community

    Downloads

    Test Providers

    Site Info


    Go to top