http://www.zhaocs.info/sla_eem_1.html
SLA简介
SLA (Service-Level Agreement)简单的理解,就是测量一些网络性能参数,在超过一些门限值时,结合track或者EEM它可以触发一些操作。例如:
1. 监控下一跳的可达性,如果不可达了, 则让某一静态路由失效
2. 监控领居的接口地址,如果连续三次不可达, 则将端口shutdown
SLA 应用实例
如果客户的线路质量不好,又无法改善时,我们需要一种方法来:当线路质量达到一定阀值时,直接reset端口,用重置链路来改善。
那么我们如何达到这种需求呢,这时SLA就登场了,那么如何部署SLA呢?
分析第一种方法
ip sla 2 icmp-echo 1.1.1.2 timeout 3000 frequency 10 <---频率设置为10S发一次 ip sla schedule 2 life forever start-time now <---设置SLA的启动时间为马上,有效期为永远 ! Track 1 rtr 2 <---配置track, trace有up和down两种状态 ! event manager session cli username "username" event manager applet test_track_1 <---EEM 配置 event track 1 state down <---如果track 1的状态是down的, 则执行下面的操作 action 1.0 cli command "enable" action 2.0 cli command "conf t" action 3.0 cli command "int g4/3" action 3.1 cli command "shut" action 3.2 cli command "no shut" action 4.0 cli command "end"
根据以上配置,如果设备会每10秒发送一个PING包, 当超时时,track 1会变为down的状态,进而触发对端口的shut/no shut,这样达到最终的目的了么?在实际网络中,偶尔丢一个包是正常的、不可避免的,与此同时,端口是正常工作的。但是,根据上面的配置,端口依然会被reset,导致业务受到影响。
为了避免这一类不必要的业务影响,我们需要对此配置进行优化,让track 1在发生真正的网络故障时才down。
最常用的判断网络故障的标准是连续的超时!
因此加入以下命令(只说明增加的命令,另外修改的命令用红色标出):
ip sla 4 icmp-echo 1.1.1.2 timeout 1000 frequency 10 ip sla schedule 4 life 5 start-time pending <---并不是马上启动,有效期也只有5秒 ! ip sla reaction-configuration 2 react timeout threshold-type consecutive 3 action-type trapandtrigger <---当发生连续3次timeout时,trigger另一个SLA,并发SNMP Trap ip sla reaction-trigger 2 4 <---SLA 2连续三次timeout就要trigger SLA 4 ! track 1 rtr 4<---track SLA 4,而不是SLA 2,为什么?
如果配置track 1 rtr 2,则每次SLA 2超时时,track 1都会down,每down一次EEM都会reset端口,这样功能还是和之前一样不合理。所以,需要配置track 1 rtr 4,因为SLA 4是pending的,它在SLA 2连续三次超时时才被触发(10*3 + 5 =35S)
OK,那么问题解决了么?
我会在下一篇文章中讲解!