取消
显示结果 
搜索替代 
您的意思是: 
cancel
8600
查看次数
48
有帮助
10
评论
LinusT
Cisco Employee
Cisco Employee
嵌入式事件管理器(EEM)是一种分布式和自定义的方法,可直接在Cisco IOS设备中提供事件检测和恢复。EEM提供监控事件的能力,并在监控事件发生或达到阈值时采取信息,纠正或任何所需的EEM操作。EEM策略是定义事件以及该事件发生时要采取的操作的实体。


传统上,事件跟踪和管理由网络设备外部的设备执行。嵌入式事件管理器(EEM)旨在直接在Cisco IOS设备中提供事件管理功能。EEM的设备上主动事件管理功能非常有用,因为并非所有事件管理都可以在设备外完成,因为某些问题会影响设备与外部网络管理设备之间的通信。在这种情况下捕获设备状态对于立即执行恢复操作和收集信息以执行根本原因分析非常宝贵。如果执行自动恢复操作而无需完全重新启动路由设备,则网络可用性也会得到改善。
EEM是一个灵活的,政策驱动的框架,支持在称为事件检测器的软件代理的帮助下对系统的不同组件进行内置监控。下图显示了EEM服务器,核心事件发布者(事件检测器)和事件订阅者(策略)之间的关系。基本上,事件发布者在事件订阅者提供的事件规范匹配时筛选事件并发布它们。当感兴趣的事件发生时,事件检测器通知EEM服务器。使用Cisco命令行界面(CLI)配置的EEM策略然后根据系统的当前状态和策略中为给定事件指定的操作实施恢复。
EEM提供监控事件的能力,并在监控事件发生或达到阈值时采取信息或纠正措施。EEM策略是定义事件以及该事件发生时要采取的操作的实体。有两种类型的EEM策略:applet或脚本。applet是一种在CLI配置中定义的简单策略形式。脚本是一种用工具命令语言(Tcl)编写的策略形式。
截至到2018年,最新的EEM版本为4.0版。
图1.嵌入式事件管理器核心事件检测器
141706nssggycgggcegi5m.jpg
理解EEM
1、EEM会监听系统的关键事件,然后对这些事件会有相应的策略进行响应。这些策略是一些程序化的脚本,我们可以定制一些脚本来响应出现的事件。
2、这些所谓的响应有以下几种:生成简单的日志,生成SNMP的traps,或者是调用一些IOS内的命令,还有可能是强制故障转移等等。
3、EEM 包含三个部分,第一个部分就是EEM的Server,第二个就是事件检测器,第三个就是策略。
4、EEM的策略会事先定义好一个或多个事件,然后事件检测器就会去监听这些定义好的事件,当设备中的某一进程触发了这一事件,EEM的检测器就会通知EEM的Server,EEM的对应的策略就会根据当前的系统的状态实时恢复或者是执行策略中定义的动作。

平常大多数配置都是围绕一下四个点展开。
(1)、Event Detector----------------------------------------EEM的事件监测器
(2)、Embedded Event Manager Action------------------EEM的动作
(3)、Embedded Event Manager Policies------------- ----EEM的策略
(4)、Embedded Event Manager Environment Variables--EEM的环境变量

1、Event Detector
事件监测有很多中,我们只拿出几个比较常见重要的讲解
a、 IOS CLI event detector– Generates policies based on the commandsentered through the CLI
(IOS 命令行界面事件监测器—基于命令行界面输入的命令生成策略)
b、Interface counter event detector– Publishesan event when a generic Cisco IOS interface counter for a specified interface crosses a defined threshold. A threshold canbe specified as an absolute value or an incrementalvalue.For example, if the incremental value is set to50 an event would be published when the interface counterincreases by 50.
(接口计数事件监测器-----可以定义接口的计数的特定阀值,计数超过了阀值,那么检测器就会检测到这个事件。这个计数可以是绝对的值,也可以是一个增量。例如,如果增量设置成50的话,结果计数一次性增加了50的话,检测器就会检测到这个事件 )
c、Resource threshold eventdetector– Generates policies based on global platform values and
thresholds.Includes resources such as CPU utilization and remaining buffer capacity.Applies only to the master switch.
(资源阀值事件检测器-----根据系统的某些资源的阀值而产生的策略。这些资源有CPU的利用率,剩余的缓存等等。)
d、SNMP eventdetector– Allows a standard SNMP MIB object to be monitored and an event to be
generatedwhen the object matches specified values or crosses specified thresholds.
( SNMP的事件监测器------EEM的监测器会监听SNMP的管理信息库中的某一对象,当EEM监测器监听到这个事件后就会生成一个Event。比如这个对象正好达到了指定的阀值,或者是超过了指定的阀值。)
e、Syslog event detector– Allows for screening syslog messages for aregular expression pattern match.The selected messages can be furtherqualified, requiring that a specific number of occurrences be logged within a specified time. A match on a specified eventcriteria triggers a configured policy action.
(系统记录事件监测器------我们可以定义一些正则表达式,然后时间监听器就会监听所显示的系统记录消息。当现实的系统日志中正好出现了我们定义的正则表达式,那么就会触发我们配置好的策略,从而采取行动)
2、Embedded Event Manager Actions
EEM的策略针对于事件的响应,会采取以下一些行动(常用的):
修改命名的计数器
生成SNMP的Trap信息
生成优先化的系统日志
重启Cisco的IOS系统
3、EEM的策略
a、 EEM可以监听一些事件,并且提供一些信息,或者是当检测到触发事件或者超过阀值后会采取正确的行动。EEM的策略是定义了事件与对应动作的一些映射。
b、EEM的策略分两种:一种是Appelt(应用程序),另外一种是Script(脚本)。Applet是定义好的命令行配置的简单策略;Script是在网络设备上用ASCII编辑器定义的,这些脚本会拷贝进网络设备里,并且会让EEM进行注册。Script可以使用TCL(Tool Command Language)来定义。
4、Embedded Event Manager EnvironmentVariables(EEM的环境变量)
在EEM的策略里,可以使用环境变量。这些变量是在EEM的TCL脚本来定义的策略中使用,对应的命令是event manager environment。以下列出一些常用的环境变量:
a、用户自己定义的变量
b、CiscoIOS定义好的变量,为指定的策略样本定义的变量
c、Cisco内置的变量(在EEM的Applet中同样有效)。这些Cisco定义的环境变量有的可读,有的可读可写。仅可读的环境变量在EEM的Applet执行之前就会被设置。例如_exit_status这个简单的可读写变量,当系统同步了这个事件后,就可以为策略设置退出是的状态信息。

案例:
在QoS丢包超过XX时,收集信息。
eventmanager applet QoS-Drop
eventsnmp oid 1.3.6.1.4.1.9.9.166.1.15.1.1.14.XXX get-typeexact entry-op gt entry-val "50"poll-interval 10
action0.1 syslog msg "QoS VDI-Egress Drop"
action1.0 cli command "enable"
action1.1 cli command "sh policy-map interface g0/0/0.900 | appendbootflash:qosdrop.txt"
action1.2 cli command "sh pl h q a feature qos queue output interfaceGigabitEthernet0/0/0.900 hierarchy de | append bootflash:qosdrop.txt"
action1.3 cli command "sh pl h q a statistics drop clear | appendbootflash:qosdrop.txt"
action1.4 cli command "sh pl h q a statistics drop | appendbootflash:qosdrop.txt"
action1.5 cli command "show plat hard qfp active bqs 0 packet-buffer utilization| append bootflash:qosdrop.txt"
action1.6 cli command "sh controllers | s GigabitEthernet0/0/0 | appendbootflash:qosdrop.txt"
action1.7 cli command "conf t"action1.8 cli command "no event manager applet QoS-Drop"


评论
xuxianda7
Spotlight
Spotlight
感谢分享好文章,这个看得有收获
one-time
Level 13
Level 13
thanks a lot!
18653465190
Spotlight
Spotlight
管理员 发表于 2019-6-3 19:26
thanks a lot!

好文章,感谢楼主分享。
avic
Level 9
Level 9
handshake
avicairbus
Level 10
Level 10
thank you very much
lili78717
Community Member
这个看得有收获
wyc_dmx42h1
Community Member
您好,想请教一下假设我现在有个applet,执行的cli是接口关闭,可以设置一个policy基于这个applet之后多少s打开这个接口吗?
samirpast
Level 1
Level 1
thank you very much。
tony_tan
Spotlight
Spotlight
感谢分享,分享万岁:):)
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接