• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

03-设备管理配置指导

目录

06-EAA配置

本章节下载 06-EAA配置  (281.79 KB)

06-EAA配置


1 EAA

1.1  EAA简介

EAA(Embedded Automation Architecture,嵌入式自动化架构)是集成在系统软件中的一系列相关软件模块的总称。

使用EAA功能:

·     用户可以定制一系列监控策略,在策略中定义自己感兴趣的事件以及事件发生时的处理动作。监控策略被启用后,系统会实时监控设备的运行,当用户定制的事件发生时,就触发相应的监控策略并自动执行监控策略中的动作。

·     设备能够智能地监控多种事件,并做出灵活多变的响应,从而大大地提升系统的可维护性。

1.1.1  EAA框架

图1-1 EAA框架示意图

 

EAA框架如图1-1所示,它包括事件源、EM(Event Monitor,事件监控)模块、RTM(Real-Time Event Manager,实时事件管理)模块和EAA监控策略。

1. 事件源

事件源是系统中的软件或硬件模块,它们会触发事件。例如,CLI事件源能触发命令行事件,Syslog事件源能触发日志事件。

2. EM

EM根据用户配置对事件源中发生的事件进行过滤匹配,匹配成功则通知RTM执行相应监控策略。当用户配置了多个监控策略,系统会创建多个EM模块,每个EM组件监控一个事件。

3. RTM

RTM是EAA的核心部件,负责管理监控策略,包括监控策略的创建、状态变化和执行。

4. EAA监控策略

通过监控策略,用户可以定义自己感兴趣的事件以及事件发生时的处理动作。

监控策略有两种配置方式:一种是通过命令行来配置,一种是通过Tcl脚本来定义。通过命令行配置的监控策略称为基于CLI的监控策略,以下简称CLI监控策略;通过Tcl脚本定义的监控策略称为基于Tcl的监控策略,以下简称Tcl监控策略。

1.1.2  监控策略中的元素

每个监控策略中必须包含以下元素:事件、动作、用户角色、执行时间。

1. 事件

表示用来触发监控策略的事件。目前,EAA能够监控的事件类型如表1-1所示。

表1-1 监控事件类型描述表

事件类型

描述

cli

监控命令行事件

配置该事件后,当用户输入指定的命令并对其进行特定操作(执行、帮助或者补全)就会触发策略执行

syslog

监控日志事件

配置该事件后,当系统在指定时间段内生成指定规格的日志信息时触发监控策略执行;RTM模块产生的日志不会触发策略执行

process

监控进程事件

配置该事件后,当指定进程(可以为用户命令行触发的或者系统自动触发的)发生指定状态变化(异常、关闭、启动或重启时),触发监控策略执行

hotplug

监控子卡热插拔事件

配置该事件后,当插入/拔出指定子卡,均会触发监控策略执行

interface

监控接口事件

接口事件中存在一个触发开关:

1.     配置该事件后,触发开关立即打开

2.     当指定接口上的指定报文的数目达到start-op start-op start-val start-val参数指定的条件时,触发监控策略执行一次(第一次执行),并关闭触发开关,但系统会继续监控接口事件

3.     当满足restart-op restart-op restart-val restart-val参数指定的条件时,才重新开启触发开关

4.     如果指定接口上的指定报文的数目再次达到start-op start-op start-val start-val参数指定的条件时,则再次触发监控策略执行一次(第二次执行),并关闭触发开关,系统继续监控接口事件

5.     如此循环

snmp

监控SNMP节点值变化事件

SNMP节点值变化事件中存在一个触发开关:

1.     配置该事件后,触发开关立即打开

2.     系统根据用户配置,定时轮询设备上某个节点的值,当该值达到start-op start-op start-val start-val指定的条件时,触发监控策略执行一次(第一次执行),并关闭触发开关,但系统会继续监控SNMP节点值变化事件

3.     当节点值满足restart-op restart-op restart-val restart-val指定的条件时,才重新开启触发开关

4.     当节点值再次达到start-op start-op start-val start-val指定的条件时,则再次触发监控策略执行一次(第二次执行),并关闭触发开关,系统继续监控SNMP节点值变化事件

5.     如此循环

snmp-notification

监控SNMP告警事件

配置该事件后,当系统生成一条告警,告警中携带的MIB对象(由oid参数指定)的值到达oid-val oid-val op op指定的条件时,触发监控策略执行

track

监控Track事件

配置该事件后,当关联的Track项状态由Positive变为Negative或者Negative变为Positive时,触发监控策略执行;如果关联多个Track项,则最后一个处于Positive(Negative)状态的Track项变为Negative(Positive)时,触发监控策略执行

如果配置了抑制时间,触发策略的同时开始计时,定时器超时前,收到状态从Positive(Negative)变为Negative(Positive)的消息,直接丢弃,不会处理。直到定时器超后,收到状态从Positive(Negative)变为Negative(Positive)的消息才处理,再一次触发策略执行

 

2. 动作

表示事件发生时,监控策略将执行的动作。目前设备支持的动作有执行指定的命令行、生成一条指定内容的日志、主备倒换和重启。

3. 用户角色

表示执行监控策略的用户角色。用户角色中定义了允许用户操作哪些系统功能以及资源对象,设备支持的每条命令都有缺省用户角色:

·     如果监控策略中指定的用户角色权限比命令行的缺省用户角色的权限小,则不能执行该命令以及该命令后面的所有动作。

·     如果指定的用户角色不存在,则监控策略不能执行。

·     如果给某个监控策略配置了多个用户角色,则使用这些用户角色权限的并集去执行该策略。例如,给某策略配置了用户角色A和B,如果策略中的动作是角色A或者B允许执行的,则策略可以执行;如果策略中存在角色A和B都不能执行的命令,则该命令以及该命令后面的所有动作都不能执行。

关于用户角色的详细描述请参见“基础配置指导”中的“RBAC”。

4. 运行时间

表示监控策略的运行时间,运行时间达到时即使策略没有执行完毕,也会立即停止执行策略。该元素用来限制策略的运行时间,以免策略长时间运行占用系统资源。

1.1.3  EAA环境变量

EAA环境变量指的是专用于监控策略的环境变量。环境变量由<环境变量名、环境变量值>字对组成。在配置监控策略的动作时,我们可以在应该输入参数的地方输入“$环境变量名”,表示此处需要引用环境变量值。系统在运行监控策略的时候,会自动用环境变量值去替代“$环境变量名”。如果要修改监控参数的值,只需在系统视图下,修改环境变量值即可,而无需进入监控策略视图,修改监控策略下的具体配置。因此,定义和使用环境变量可以简化监控策略的配置,提高监控策略的灵活性和易用性。

目前,EAA支持的环境变量包括内部环境变量和用户自定义环境变量。

1. 内部环境变量

设备缺省支持的环境变量,用户不能创建、删除和修改。内部环境变量名均以“_”开头,内部环境变量的值由系统决定。内部环境变量又包括两类:一类是公共环境变量,另一类是非公共环境变量。

·     公共环境变量可被所有类型的事件使用:其中_event_id、_event_type、_event_type_string在系统启动时生成,关联的事件类型不同,其值不同,其值一旦确定不能更改;_event_time、_event_severity在运行时产生。

·     非公共环境变量只能被对应的事件使用,其值在事件触发时获得,它表示当前事件的部分信息。例如,CLI事件对应的内部环境变量为“_cmd”,当CLI事件被触发时,环境变量“_cmd”的值为监控策略匹配到的用户执行的命令行。

目前EAA支持内部环境变量如表1-2所示。

表1-2 内部环境变量描述表

事件

内部环境变量的名称

描述

CLI

_cmd

匹配上的命令

SYSLOG

_syslog_pattern

匹配的日志信息的内容

HOTPLUG

_slot

暂无意义,取值固定为1

HOTPLUG

_subslot

发生热插拔的子卡所在的子槽位号‌

INTERFACE

_ifname

接口的名称

SNMP

_oid

SNMP操作中携带的OID

_oid_value

OID对应节点的值

SNMP TRAP

_oid

SNMP告警信息中携带的OID

PROCESS

_process_name

进程的名称

公共环境变量

_event_id

事件的ID

_event_type

事件的类型

_event_type_string

事件类型的描述

_event_time

事件发生的时间

_event_severity

事件的严重级别

 

2. 用户自定义环境变量

用户定义环境变量名可包含数字、字符或者“_”,但不能以“_”开头。用户自定义环境变量可用于所有类型的事件,其值由用户配置决定。用户定义环境变量可修改、删除。

1.2  配置用户自定义环境变量

1. 功能简介

使用本特性,用户可以自定义EAA环境变量的名称和值,以便定义监控策略时可以引用。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置用户自定义环境变量。

rtm environment var-name var-value

系统中缺省支持的内部环境变量,请参见表1-2

1.3  配置监控策略

1.3.1  配置限制和指导

·     用户可创建多个监控策略,请确保同时启用的策略间动作不能冲突,因为当系统同时执行多个策略,且不同策略间动作有冲突时,执行结果是随机的。

·     Tcl监控策略和CLI监控策略的名称可以相同,相同类型的监控策略的名称不能相同。

·     同一个策略下,只能配置一个触发事件和运行时间。

·     同一监控策略下可配置多个用户角色,最多可以配置64个有效用户角色,超过该上限后,新配置的用户角色不会生效。

1.3.2  配置CLI监控策略

1. 配置限制和指导

用户可为CLI监控策略配置多个动作,系统会按照动作的编号由小到大顺序执行这些动作。如果新配置的动作的编号和已有动作的编号相同,最后一次配置并且commit的生效。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置EAA监控的日志缓冲区的大小。

rtm event syslog buffer-size buffer-size

缺省情况下,EAA监控的日志缓冲区的大小为50000条。

(3)     创建CLI监控策略并进入CLI监控策略视图。

rtm cli-policy policy-name

(4)     配置监控事件。

¡     配置命令行事件。

event cli { async [ skip ] | sync } mode { execute | help | tab } pattern regular-exp

¡     配置热插拔事件。

event hotplug [ insert | remove ] slot slot-number [ subslot subslot-number ]

¡     配置接口事件。

event interface interface-type interface-number monitor-obj monitor-obj start-op start-op start-val start-val restart-op restart-op restart-val restart-val [ interval interval ]

¡     配置进程事件。

event process { exception | restart | shutdown | start } [ name process-name [ instance instance-id ] ] [ slot slot-number ]

¡     配置SNMP操作事件。

event snmp oid oid monitor-obj { get | next } start-op start-op start-val start-val restart-op restart-op restart-val restart-val [ interval interval ]

¡     配置SNMP告警事件。

event snmp-notification oid oid oid-val oid-val op op [ drop ]

¡     配置日志事件。

event syslog priority { priority | all } msg msg occurs times period period

¡     配置Track事件。

event track track-list state { negative | positive } [ suppress-time suppress-time ]

缺省情况下,未配置事件。

多次执行event命令时,最后一次配置并且commit的生效。

(5)     配置动作。请至少选择以下一项进行配置。

¡     配置事件发生时执行指定的命令行。

action number cli command-line

缺省情况下,监控策略下未配置CLI动作。

¡     配置事件发生时执行重启操作。

action number reboot [ slot slot-number [ subslot subslot-number ] ]

缺省情况下,监控策略下未配置重启动作。

¡     配置事件发生时进行主备倒换。

action number switchover

缺省情况下,监控策略下未配置主备倒换动作。

¡     配置事件发生时发送指定的LOG。

action number syslog priority priority facility local-number msg msg-body

缺省情况下,监控策略下未配置日志动作。

(6)     (可选)配置执行CLI监控策略时使用的用户角色。

user-role role-name

缺省情况下,执行CLI监控策略时使用的用户角色为创建该策略的用户的角色。

安全日志管理员角色与其它用户角色互斥:配置安全日志管理员角色后,系统会自动删除已配置的其它用户角色;配置其它用户角色后,系统会自动删除已配置的安全日志管理员角色。

(7)     (可选)配置CLI监控策略执行动作的持续时间。

running-time time

缺省情况下,CLI监控策略执行动作的持续时间为20秒。

多次执行命令时,最后一次配置并且commit的生效。

(8)     启用CLI监控策略。

commit

缺省情况下,CLI监控策略未被启用。

必须执行该命令后,CLI监控策略下的配置才会生效。

1.3.3  配置Tcl监控策略

1. Tcl脚本内容简介

按内容Tcl脚本可以分为两大部分:首行和其它行。

(1)     首行

首行用于定义事件、用户角色和运行时间。用户创建并启用Tcl监控策略后,设备会立即解析Tcl脚本首行,并下发、生效。

Tcl脚本首行的格式为::comware::rtm::event_register event-type arg1 arg2 arg3user-role role-name1 | [ user-role role-name2 | [ ] ] [ running-time running-time ]。其中:

¡     event-type用来指定事件的类型,取值同CLI监控策略支持的事件类型,详情请参见表1-1

¡     arg用来指定事件参数,具体要求与相应event命令中的参数规格一致,请参考“设备管理命令参考”中的“EAA”。当arg内容中包含空格时,请在arg内容的两端添加英文格式的双引号,形如"a b c"。

¡     user-role用来指定执行脚本的用户角色,参数含义和配置要求同CLI监控策略。

¡     running-time用来指定动作执行的最大时间,参数含义和配置要求同CLI监控策略。未指定该参数时,表示不限制Tcl监控策略的运行时间。

(2)     其它行

从Tcl脚本的第二行开始,定义监控策略触发时将执行的动作。用户可使用多行定义多个动作,系统会按照Tcl脚本中配置的先后顺序执行这些动作。Tcl监控策略支持如下三类动作:

¡     Tcl语言标准命令。

¡     EAA模块的switchover和syslog动作。配置该类动作时,请使用格式::comware::rtm::action switchover::comware::rtm::action syslog priority priority facility local-number msg msg-bodyprioritylocal-numbermsg-body参数的详细描述请参考“设备管理命令参考/EAA”中的action syslog命令。

¡     Comware的其它命令行。配置该类动作时,每行为可执行的Comware命令行即可。

2. 配置限制和指导

Tcl监控策略启用后,不允许修改Tcl脚本。如需修改,请先停用Tcl监控策略,修改后,再启用Tcl监控策略。否则,Tcl监控策略将不能运行。

3. 配置步骤

(1)     使用FTP或者TFTP功能将Tcl脚本下载到设备上,FTP及TFTP具体配置请参见“基础配置指导”中的“FTP和TFTP”。

(2)     创建并启用Tcl监控策略。

a.     进入系统视图。

system-view

b.     创建并启用Tcl监控策略,并将该策略与Tcl脚本绑定。

rtm tcl-policy policy-name tcl-filename

缺省情况下,不存在Tcl监控策略。

1.4  暂停监控策略

1. 功能简介

使用本特性可以暂停运行所有的监控策略。如果配置本特性时,某个监控策略正在执行动作,则设备会等待该监控策略的所有动作全部执行完毕后,再暂停运行该监控策略。

2. 配置限制和指导

如果要将暂停运行的所有策略恢复运行,请使用undo rtm scheduler suspend命令。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     暂停运行所有的监控策略。

rtm scheduler suspend

1.5  EAA显示和维护

执行以下命令,可显示EAA相关信息:

·     可在任意视图下执行以下命令:

¡     显示监控策略的相关信息。

display rtm policy { active | registered [ verbose ] } [ policy-name ]

¡     显示用户自定义的EAA环境变量配置。

display rtm environment [ var-name ]

·     请在CLI监控策略视图下执行以下命令,显示CLI监控策略下生效的具体配置。

display this

1.6  EAA典型配置举例

1.6.1  配置Tcl监控策略

1. 组网需求

配置一个Tcl监控策略,当设备执行包含字符串display this的命令时,让系统自动发送日志信息rtm_tcl_test is running。

2. 组网图

图1-2 配置Tcl监控策略

 

 

3. 配置步骤

# 在PC上使用写字板或者word编辑Tcl策略脚本rtm_tcl_test.tcl,内容如下:

::platformtools::rtm::event_register cli sync mode execute pattern display this user-role network-admin

::platformtools::rtm::action syslog priority 1 facility local4 msg rtm_tcl_test is running

以上脚本的含义为:当设备执行包含字符串display this的命令时,让系统自动发送日志信息rtm_tcl_test is running。

# 通过TFTP将rtm_tcl_test.tcl下载到设备上。

<AC> tftp 1.2.1.1 get rtm_tcl_test.tcl

# 创建并启用Tcl监控策略,并将它和Tcl脚本rtm_tcl_test.tcl绑定。

<AC> system-view

[AC] rtm tcl-policy test rtm_tcl_test.tcl

[AC] quit

4. 验证配置

# 通过display rtm policy registered命令可以看到存在策略名为test,策略类型为Tcl的策略。

<AC> display rtm policy registered

Total number: 1

Type  Event             TimeRegistered       PolicyName

TCL   CLI               May 06 09:47:12 2019 test

# 打开允许日志输出的开关,执行display this命令,有rtm_tcl_test is running日志输出,同时有策略运行成功的日志输出。

<AC> terminal monitor

The current terminal is enabled to display logs.

<AC> system-view

[AC] info-center enable

Information center is enabled.

[AC] quit

<AC> display this

%Jan  1 09:50:04:634 2019 AC RTM/1/RTM_ACTION: rtm_tcl_test is running

%Jan  1 09:50:04:634 2019 AC RTM/6/RTM_POLICY: TCL policy test is running successfully.

#

return

1.6.2  配置CLI监控策略

1. 组网需求

配置一个CLI监控策略,当设备执行包含数字、字母(大小写均可)的命令行的帮助操作时,让系统自动发送日志信息hello world,并创建VLAN 2。

2. 配置步骤

# 创建CLI监控策略,名称为test。

<AC> system-view

[AC] rtm cli-policy test

# 配置监控事件:监控包含数字、字母(大小写均可)的命令行的帮助。

[AC-rtm-test] event cli async mode help pattern [a-zA-Z0-9]

# 事件发生时,发送优先级为4,日志记录工具为local3,信息为hello world的日志。

[AC-rtm-test] action 0 syslog priority 4 facility local3 msg “hello world”

# 事件发生时,进入系统视图。

[AC-rtm-test] action 2 cli system-view

# 事件发生时,创建VLAN 2。

[AC-rtm-test] action 3 cli vlan 2

# 配置CLI监控策略执行动作的持续时间为2000秒。

[AC-rtm-test] running-time 2000

# 配置用户角色network-admin具有执行该策略的权限。

[AC-rtm-test] user-role network-admin

# 确认执行该策略。

[AC-rtm-test] commit

3. 验证配置

# 通过display rtm policy registered查看,可以看到策略名为test,策略类型为CLI的策略。

[AC-rtm-test] display rtm policy registered

Total number: 1

Type  Event      TimeRegistered       PolicyName

CLI   CLI        Aug 29 14:56:50 2013 test

# 打开允许日志输出的开关,并对包含字母d的命令进行帮助,可以看到有信息为“hello world”的日志输出,同时有策略运行成功的日志输出。

[AC-rtm-test] display rtm policy registered

Total number: 1

Type  Event             TimeRegistered       PolicyName

TCL   CLI               Jan  1 09:47:12 2019 test

# 打开允许日志输出的开关,并对包含字母d的命令进行帮助,可以看到有信息为“hello world”的日志输出,同时有策略运行成功的日志输出。

[AC-rtm-test] return

<AC> terminal monitor

The current terminal is enabled to display logs.

<AC> system-view

[AC] info-center enable

Information center is enabled.

[AC] quit

<AC> d?

  debugging

  delete

  diagnostic-logfile

  dir

  display

 

<AC>d%Jan  1 09:50:04:634 2019 AC RTM/4/RTM_ACTION: "hello world"

%Jan  1 09:50:04:634 2019 AC RTM/6/RTM_POLICY: CLI policy test is running successfully.

1.6.3  配置CLI监控策略——环境变量

1. 组网需求

配置一个CLI监控策略,用于实现:当用户执行带有字符串loopback0的命令时,

·     系统会自动创建LoopBack0接口。

·     将该接口的IP地址配置为1.1.1.1/24。

·     将匹配到的命令行通过日志打印输出。

2. 配置步骤

# 创建环境变量loopback0IP,将其值配置为1.1.1.1。

<AC> system-view

[AC] rtm environment loopback0IP 1.1.1.1

# 创建CLI监控策略,名称为test。

[AC] rtm cli-policy test

# 配置监控事件:用户执行带有字符串loopback0的命令。

[AC-rtm-test] event cli async mode execute pattern loopback0

# 事件发生时,系统会自动创建LoopBack0接口,将该接口的IP地址配置为1.1.1.1/24,并将匹配到的命令行通过日志打印输出。

[AC-rtm-test] action 0 cli system-view

[AC-rtm-test] action 1 cli interface loopback 0

[AC-rtm-test] action 2 cli ip address $loopback0IP 24

[AC-rtm-test] action 3 syslog priority 0 facility local7 msg $_cmd

[AC-rtm-test] user-role network-admin

[AC-rtm-test] commit

[AC-rtm-test] return

3. 验证配置

# 打开允许日志输出的开关,当用户执行带有字符串loopback0的命令时,系统会将匹配到的命令行通过日志打印输出,同时有策略运行成功的日志输出。

<AC> terminal monitor

The current terminal is enabled to display logs.

<AC> loopback0

<AC>%Jan  1 09:46:10:592 2019 AC RTM/0/RTM_ACTION: loopback0

%Jan  1 09:46:10:613 2019 AC RTM/6/RTM_POLICY: CLI policy test is running successfully.

# 显示接口信息,发现已存在LoopBack0接口,IP地址为1.1.1.1。

<AC> display interface loopback brief

Brief information on interfaces in route mode:

Link: ADM - administratively down; Stby - standby

Protocol: (s) - spoofing

Interface            Link Protocol Primary IP         Description

Loop0                UP   UP(s)    1.1.1.1

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们