EEM
Failover
event manager applet FAILOVER_TO_AKAMAI
event track 1 state down
action 1.0 syslog msg "Cloudflare SLA down – initiating Akamai advertisement"
! Step 1: Advertise to Akamai
action 2.0 cli command "enable"
action 3.0 cli command "configure terminal"
action 4.0 cli command "router bgp 1"
action 5.0 cli command "neighbor 13.0.0.2 route-map RM_OUT-AK out"
action 6.0 cli command "neighbor 14.0.0.2 route-map RM_OUT-AK out"
action 7.0 cli command "end"
! Step 2: Wait before verification
action 8.0 wait 30
action 8.1 syslog msg "Waited 30 seconds – checking Akamai advertisement"
! Step 3: Verify advertisement to Akamai
action 9.0 cli command "show ip bgp neighbors 13.0.0.2 advertised-routes | include 150.0.0.0"
action 9.1 regexp "150.0.0.0" "$_cli_result" result
! Step 4: Conditional withdrawal from Cloudflare
action 10.0 if $result eq "1"
action 10.1 syslog msg "Confirmed 150.0.0.0/24 advertised to Akamai – withdrawing from Cloudflare"
action 10.2 cli command "enable"
action 10.3 cli command "configure terminal"
action 10.4 cli command "router bgp 1"
action 10.5 cli command "no neighbor 11.0.0.2 route-map RM_OUT-CF out"
action 10.6 cli command "no neighbor 12.0.0.2 route-map RM_OUT-CF out"
action 10.7 cli command "end"
action 10.8 endFail back
Python Script
EEM failover
Fail back
API
https://techdocs.akamai.com/prolexic/reference/post-routed-bgp-sessions
https://developers.cloudflare.com/api/resources/radar/subresources/bgp/subresources/ips/methods/timeseries/
PYthon script to query API
EEM
Python script to query Akamai
Python Script to Query BGP Tools
EEM
Other EEM Notification
SNMP Trap
Email
Message to team
EEM to team via python script
Last updated