14-EAA命令
本章节下载: 14-EAA命令 (349.13 KB)
action cli命令用来配置事件发生时执行指定的命令行。
undo action命令用来取消指定的操作。
【命令】
action number cli command-line
undo action number
【缺省情况】
监控策略下未配置CLI动作。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
number:动作序号,取值范围为0~231。
cli command-line:需要执行的命令。该参数可以是命令的不完整形式,比如为命令interface loopback 1的缩写形式int loop 1,但需要用户保证其为设备可识别的合法命令,否则,该动作不能成功执行。
【使用指导】
同一个监控策略下可以配置多个动作,当监控策略被触发后,系统会按照动作序号从小到大依次执行这些动作。当新增动作时,请确保动作的执行顺序是正确的。如果用户配置了相同序号的动作,当管理员执行commit命令时,最后一次执行的action生效。
如果本命令指定的命令行不在用户视图下,则必须先配置进入相应视图的action cli,且进视图的action的编号应小于执行指定命令的action的编号。比如,要使用CLI策略来关闭接口Ten-GigabitEthernet1/0/1,则需要配置三条action命令,action 1 cli system-view、action 2 cli interface ten-gigabitethernet 1/0/1、action 3 cli shutdown。
配置action命令时,用户可以直接输入参数的值,也可以引用环境变量。关于环境变量的详细介绍请参见“网络管理和监控配置指导”中的“EAA”。
【举例】
# 为CLI监控策略test配置动作:当test被触发时,关闭接口Ten-GigabitEthernet1/0/1。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] action 1 cli system-view
[Sysname-rtm-test] action 2 cli interface ten-gigabitethernet 1/0/1
[Sysname-rtm-test] action 3 cli shutdown
action reboot命令用来配置事件发生时执行重启操作。
undo action命令用来取消指定的操作。
【命令】
action number reboot [ slot slot-number ]
undo action number
【缺省情况】
监控策略下未配置重启动作。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
number:动作序号,取值范围为0~231。
slot slot-number:表示设备在IRF中的成员编号。不指定该参数时,表示重启IRF系统。
subslot subslot-number:子卡所在的子槽位号。不指定该参数时,表示重启slot。仅LSPM6FWD子卡支持重启。
【使用指导】
使用action reboot命令,或者使用action cli命令并将command-line参数指定为reboot命令,均可实现在事件发生时执行重启操作。只是action reboot命令会直接执行重启操作,使用action cli命令时,用户可以选择是否先保存当前配置,再执行重启操作。
同一个监控策略下可以配置多个动作,当监控策略被触发后,系统会按照动作序号从小到大依次执行这些动作。当新增动作时,请确保动作的执行顺序是正确的。如果用户配置了相同序号的动作,当管理员执行commit命令时,最后一次执行的action生效。
配置action命令时,用户可以直接输入参数的值,也可以引用环境变量。关于环境变量的详细介绍请参见“网络管理和监控配置指导”中的“EAA”。
【举例】
# 为CLI监控策略test配置动作:当test被触发时,重启指定slot。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] action 3 reboot slot 1
action switchover命令用来配置事件发生时启动主备倒换。
undo action命令用来取消指定的操作。
【命令】
action number switchover
undo action number
【缺省情况】
监控策略下未配置主备倒换动作。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
number:动作序号,取值范围为0~231。
【使用指导】
同一个监控策略下可以配置多个动作,当监控策略被触发后,系统会按照动作序号从小到大依次执行这些动作。当新增动作时,请确保动作的执行顺序是正确的。如果用户配置了相同序号的动作,当管理员执行commit命令时,最后一次执行的action生效。
即使当前设备不是主备环境(未部署从设备或者从设备未正常启动),该命令也会执行成功,但不会触发主设备和备设备的倒换动作。
【举例】
# 为CLI监控策略test配置动作:当test被触发时,执行主备倒换。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] action 3 switchover
action syslog命令用来配置事件发生时生成一条指定内容的日志。
undo action命令用来取消指定的操作。
【命令】
action number syslog priority priority facility local-number msg msg-body
undo action number
【缺省情况】
监控策略下未配置日志动作。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
number:动作序号,取值范围为0~231。
priority priority:生成的日志的优先级,取值范围为0~7。优先级的值越小,优先级越高。
facility local-number:生成日志的设备号,取值范围为local0~local7。该参数主要用于在日志主机端标识不同的日志来源,以便查找和过滤不同日志源的日志。
msg msg-body:生成的日志内容。
【使用指导】
事件触发后生成的日志信息会交给信息中心模块,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
同一个监控策略下可以配置多个动作,当监控策略被触发后,系统会按照动作序号从小到大依次执行这些动作。当新增动作时,请确保动作的执行顺序是正确的。如果用户配置了相同序号的动作,当管理员执行commit命令时,最后一次执行的action生效。
配置action命令时,用户可以直接输入参数的值,也可以引用环境变量。关于环境变量的详细介绍请参见“网络管理和监控配置指导”中的“EAA”。
【举例】
# 为CLI监控策略test配置动作:当test被触发时,生成一条优先级为7、设备号为local3、内容为hello的日志。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] action 3 syslog priority 7 facility local3 msg hello
commit命令用来启用CLI监控策略。
【命令】
commit
【缺省情况】
CLI监控策略未被启用。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【使用指导】
CLI监控策略创建并配置事件和动作后,并不会立即生效,需要执行commit命令才会生效。
修改CLI监控策略的配置后,也需要执行commit命令,新配置才会生效。
【举例】
# 启用CLI监控策略test。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] commit
display rtm environment命令用来显示用户自定义的EAA环境变量配置。
【命令】
display rtm environment [ var-name ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
var-name:环境变量的名称,为1~63个字符的字符串,只能包含数字、字母和下划线,并且不能以下划线开头,区分大小写。不指定该参数时,显示所有环境变量的配置。
【举例】
# 显示用户自定义的所有EAA环境变量配置。
<Sysname> display rtm environment
Name Value
save_cmd save main force
show_run_cmd display current-configuration
表1-1 display rtm environment命令信息描述
主要字段 |
描述 |
Name |
环境变量的名称,最多可显示30个字符。如果环境变量的名称超过30个字符,可使用display current-configuration命令查看 |
Value |
环境变量的值,最多可显示30个字符。如果环境变量的值超过30个字符,可使用display current-configuration命令查看 |
display rtm policy命令用来显示监控策略的相关信息。
【命令】
display rtm policy { active | registered [ verbose ] } [ policy-name ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
active:显示正在执行action命令的监控策略的相关信息。
registered:显示已创建的监控策略的相关信息。
verbose:显示监控策略的详细信息。
policy-name:显示指定监控策略的相关信息。policy-name表示监控策略的名称,为1~63个字符的字符串,区分大小写。不指定该参数时,显示所有正在执行的或者是已创建的监控策略的相关信息。
【使用指导】
本命令用来显示监控策略的相关信息,CLI监控策略下生效的具体配置请在任意视图执行display current-configuration命令,或者在CLI监控策略视图下使用display this命令来查看。
【举例】
# 显示所有正在执行action命令的监控策略的相关信息。
<Sysname> display rtm policy active
JID Type Event TimeActive PolicyName
507 CLI INTERFACE Aug 29 14:55:55 2019 test
表1-2 display rtm policy active命令显示信息描述表
主要字段 |
描述 |
JID |
任务ID,只有执行display rtm policy active命令时才显示该信息 |
Type |
监控策略的类型,其中: · TCL表示这个策略是通过Tcl脚本定义的 · CLI表示这个策略是通过命令行定义的 |
Event |
监控策略触发事件的类型,包括CLI、HOTPLUG、INTERFACE、PROCESS、SNMP、SNMP_NOTIF、SYSLOG和TRACK |
TimeActive |
监控策略开始运行的时间 |
PolicyName |
监控策略的名称 |
# 显示所有监控策略的简要信息。
<Sysname> display rtm policy registered
Total number: 1
Type Event TimeRegistered PolicyName
CLI Aug 29 14:54:50 2019 test
表1-3 display rtm policy registered命令显示信息描述表
主要字段 |
描述 |
Total number |
监控策略的总个数 |
Type |
监控策略的类型,其中: · TCL表示这个策略是通过Tcl脚本定义的 · CLI表示这个策略是通过命令行定义的 |
Event |
监控策略触发事件的类型,包括CLI、HOTPLUG、INTERFACE、PROCESS、SNMP、SNMP_NOTIF、SYSLOG和TRACK |
TimeRegistered |
监控策略的创建时间 |
PolicyName |
监控策略的名称 |
# 显示所有监控策略的详细信息。
<Sysname> display rtm policy registered verbose
Total number: 1
Policy Name: test
Policy Type: CLI
Event Type:
TimeRegistered: Aug 29 14:54:50 2019
User-role: network-operator
network-admin
表1-4 display rtm policy registered verbose命令显示信息描述表
主要字段 |
描述 |
Total number |
监控策略的总数 |
Policy Name |
监控策略的名称 |
Policy Type |
监控策略的类型,其中: · TCL表示这个策略是通过Tcl脚本定义的 · CLI表示这个策略是通过命令行定义的 |
Event Type |
监控策略触发事件的类型,包括CLI、HOTPLUG、INTERFACE、PROCESS、SNMP、SNMP_NOTIF、SYSLOG和TRACK |
TimeRegistered |
监控策略的创建时间 |
User-role |
执行监控策略的角色 |
event cli命令用来配置命令行事件。
undo event命令用来取消事件配置。
【命令】
event cli { async [ skip ] | sync } mode { execute | help | tab } pattern regular-exp
undo event
【缺省情况】
未配置命令行事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
async [ skip ]:异步监控。如果指定skip参数,则表示事件发生时,只执行CLI监控策略中的动作,不执行event cli中指定的命令;如果不指定skip参数,则表示事件发生时,CLI监控策略和event cli中指定的命令同时执行。
sync:同步监控。只有CLI监控策略执行成功,event cli中指定的命令才能执行。
mode { execute | help | tab }:对命令的监控方式。其中:
· execute表示监控命令行的执行。当用户执行特定命令时,触发CLI监控策略。
· help表示监控命令行的“?”帮助。当用户对指定命令执行帮助操作时,触发CLI监控策略。
· tab表示监控命令行的Tab补全。当用户执行指定命令并使用Tab键自动补全功能时,触发CLI监控策略。
pattern regular-exp:用于匹配命令行的正则表达式。只要输入的命令行中包含该字符串,则匹配成功,触发策略执行。关于正则表达式的详细描述请参见“基础配置指导”中的“CLI”。
【使用指导】
配置该事件后,当用户输入指定的命令并执行相应动作(执行、帮助或者补全)就会触发策略执行。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
【举例】
# 为CLI监控策略test配置异步CLI事件,当用户输入命令中含有display interface brief字符并执行该命令时触发策略执行,同时跳过命令行执行。
<Sysname>system-view
[Sysname] rtm cli-policy test
[Sysname-rmt-test] event cli async skip mode execute pattern display interface brief
# 为CLI监控策略test配置异步CLI事件,当用户输入的命令中含有display interface brief字符并使用了<Tab>键补全功能时,触发策略执行,同时将<Tab>键补全的结果返回给用户。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rmt-test] event cli async mode tab pattern display interface brief
# 为CLI监控策略test配置同步CLI事件,当用户输入的命令中含有display interface brief字符并使用了帮助功能时,触发策略执行。系统等策略执行成功后,返回帮助的结果。
<Sysname>system-view
[Sysname] rtm cli-policy test
[Sysname-rmt-test] event cli sync mode help pattern display interface brief
event hotplug命令用来配置热插拔事件。
undo event命令用来取消事件配置。
【命令】
event hotplug [ insert | remove ] slot slot-number [ subslot subslot-number ]
undo event
【缺省情况】
未配置热插拔事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
insert:表示监控成员设备加入IRF或子卡插入事件。
remove:表示监控成员设备离开IRF或子卡拔出事件。
slot slot-number:表示设备在IRF中的成员编号。
subslot subslot-number:子卡所在的子槽位号。不指定该参数时,表示仅监控slot,不监控子卡。
【使用指导】
配置该事件后,当指定成员设备加入/离开IRF,或者用户插入/拔出指定子卡,会触发监控策略执行。
不指定insert和remove参数时,表示同时监控加入和离开、插入和拔出事件。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
【举例】
# 为CLI监控策略test配置监控事件:指定成员设备加入或离开时触发策略执行。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event hotplug slot 1
event interface命令用来配置接口事件。
undo event命令用来取消事件配置。
【命令】
event interface interface-list monitor-obj monitor-obj start-op start-op start-val start-val restart-op restart-op restart-val restart-val [ interval interval ]
undo event
【缺省情况】
未配置接口事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
interface-list:表示要监控的接口列表。interface-list = { interface-type interface-number1 [ to interface-type interface-enumber2 ] }&<1-8>,其中,interface-type interface-number表示要监控的接口类型和编号,&<1-8>表示前面的参数最多可以输入8次。to关键字左边的接口(起始接口)和to关键字右边的接口(结束接口)类型必须相同,起始接口的编号必须小于结束接口的编号,否则将配置失败。
monitor-obj monitor-obj:表示要监控的对象,具体描述请见表1-5。
start-op start-op:触发监控策略执行的操作码,取值如表1-6所示。
start-val start-val:触发监控策略执行的监控对象的值,取值范围为0~4294967295,单位请见表1-5。
restart-op restart-op:重新开启触发开关的操作码,具体描述请见表1-6。
restart-val restart-val:重新开启触发开关的监控对象的值,取值范围为0~4294967295,单位请见表1-5。
interval interval:监控对象数据的采样周期,取值范围为1~4294967295,单位为秒,缺省值为300。
监控对象 |
含义 |
input-drops |
采样周期内,接口接收方向丢弃包的个数 |
input-errors |
采样周期内,接口接收到的错误包的个数 |
output-drops |
采样周期内,接口发送方向丢弃包的个数 |
output-errors |
采样周期内,接口发送出去的错误包的个数 |
rcv-bps |
采样周期内,接口接收速率,单位为比特/秒 |
rcv-broadcasts |
采样周期内,接口接收到的广播包个数 |
rcv-kbps |
接口接收速率,单位为千比特/秒 |
rcv-kpps |
接口接收速率,单位为千个包/秒 |
rcv-pps |
接口接收速率,单位为包/秒 |
tx-bps |
接口发送速率,单位为比特/秒 |
tx-kbps |
接口发送速率,单位为千比特/秒 |
tx-kpps |
接口发送速率,单位为千个包/秒 |
tx-pps |
接口发送速率,单位为包/秒 |
比较操作符 |
含义 |
eq |
等于 |
ge |
大于等于 |
gt |
大于 |
le |
小于等于 |
lt |
小于 |
ne |
不等于 |
【使用指导】
接口事件的触发过程为:
(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) 如此循环。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
【举例】
# 为CLI监控策略test配置监控事件:每60秒获取一次Ten-GigabitEthernet1/0/1接收到的错误包的个数。当错误包的个数大于1000时触发test执行并关闭触发开关,当错误包的个数小于50时重新开启触发开关,如此循环。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event interface ten-gigabitethernet 1/0/1 monitor-obj input-errors start-op gt start-val 1000 restart-op lt restart-val 50 interval 60
event process命令用来配置进程事件。
undo event命令用来取消事件配置。
【命令】
event process { exception | restart | shutdown | start } [ name process-name [ instance instance-id ] ] [ slot slot-number ]
undo event
【缺省情况】
未配置进程事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
exception:监控进程异常事件。当进程发生异常时,触发CLI监控策略。
restart:监控进程重启事件。当进程重启时,触发CLI监控策略。
shutdown:监控进程关闭事件。当进程关闭时,触发CLI监控策略。
start:监控进程启动事件。当进程启动时,触发CLI监控策略。
name process-name:监控的用户态进程的名称,可以是当前正在运行的进程也可以是没有运行的进程。不指定该参数时,表示所有用户态进程。
instance instance-id:监控的用户态进程的实例的编号,取值范围为0~4294967295,可以是当前不存在的实例号。不指定该参数时,表示指定进程的所有实例。
slot slot-number:表示设备在IRF中的成员编号。不指定该参数时,表示所有成员设备。
【使用指导】
配置该事件后,当指定进程异常、关闭、启动或重启时(可以为用户命令行触发的或者系统自动触发的),均触发监控策略执行。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
【举例】
# 为CLI监控策略test配置监控事件:当进程snmpd重启时触发策略执行。
<Sysname>system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event process restart name snmpd
event snmp oid命令用来配置SNMP操作事件。
undo event命令用来取消事件配置。
【命令】
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 ]
undo event
【缺省情况】
未配置SNMP操作事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
oid oid:表示需要监控的MIB对象的OID,为1~256个字符的字符串。
monitor-obj { get | next }:表示需要监控的SNMP操作。get表示SNMP Get操作;next表示SNMP Get Next操作。
start-op start-op:触发监控策略执行的操作码,取值如表1-6所示。
start-val start-val:触发监控策略执行的值。可以是SNMP模块支持的所有类型,例如,数字、字符串等。为1~512个字符的字符串。如果该值中包含空格,需要在值的首末添加英文格式的引号,形如”xxx xxx”。
restart-op op:重新开启触发开关的操作码,取值如表1-6所示。
restart-val restart-val:重新开启触发开关的监控对象的值。可以是SNMP模块支持的所有类型,例如,数字、字符串等。为1~512个字符的字符串。如果该值中包含空格,需要在值的首末添加英文格式的引号,形如”xxx xxx”。
interval interval:获取监控对象数据的时间间隔,取值范围为1~4294967295,单位为秒,缺省值为300。
【使用指导】
SNMP操作事件的触发过程为:
(1) 配置该事件后,触发开关立即打开。
(2) 此后系统按照用户设定的interval interval定时获取设备上某个OID对应节点的值,该值达到start-op start-op start-val start-val参数指定的条件时,触发监控策略执行一次(第一次执行),并关闭触发开关,但系统会继续监控SNMP操作事件。
(3) 当满足restart-op restart-op restart-val restart-val参数指定的条件时,才重新开启触发开关。
(4) 如果用户获取的MIB对象的值再次达到start-op start-op start-val start-val参数指定的条件时,则再次触发监控策略执行一次(第二次执行),并关闭触发开关,系统继续监控SNMP操作事件。
(5) 如此循环。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
配置该命令前,请先开启SNMP功能,否则,该命令配置失败。
【举例】
# 为CLI监控策略test配置监控事件:系统每5秒检查MIB对象1.3.6.4.9.9.42.1.2.1.6.4的值,当该值等于1时触发执行监控策略并关闭监控开关,当等于2时重新启动监控。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event snmp oid 1.3.6.4.9.9.42.1.2.1.6.4 monitor-obj get start-op eq start-val 1 restart-op eq restart-val 2 interval 5
event snmp-notification命令用来配置SNMP告警事件。
undo event命令用来取消事件配置。
【命令】
event snmp-notification oid oid oid-val oid-val op op [ drop ]
undo event
【缺省情况】
未配置SNMP告警触发事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
oid oid:告警信息中携带的MIB对象的OID,为1~256个字符的字符串。
oid-val oid-val:告警信息中携带的MIB对象的值。可以是SNMP模块支持的所有类型,例如,数字、字符串等。为1~512个字符的字符串。如果该值中包含空格,需要在值的首末添加英文格式的引号,形如”xxx xxx”。
op op:比较操作码,取值如表1-6所示。
drop:表示匹配成功后丢弃该告警信息。不指定该参数时,表示正常发送。
【使用指导】
配置该事件后,当系统生成一条告警,且告警中携带的MIB对象(由oid参数指定)的值到达oid-val oid-val op op指定的条件时,触发监控策略执行。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
配置该命令前,请先开启SNMP功能,否则,该命令配置失败。
【举例】
# 为CLI监控策略test配置SNMP告警监控事件:当告警信息中包含的登录用户名为admin时,触发策略且丢弃该告警。(登录用户名对应的MIB节点的OID为1.3.6.1.4.1.25506.2.2.1.1.2.1.0)
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event snmp-notification oid 1.3.6.1.4.1.25506.2.2.1.1.2.1.0 oid-val admin op eq drop
event syslog命令用来配置日志事件。
undo event命令用来取消事件配置。
【命令】
event syslog priority { priority | all } msg msg occurs times period period
undo event
【缺省情况】
未配置日志事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
priority { priority | all }:表示需要匹配的日志的优先级。其中:
· priority表示需要匹配的日志的最低优先级,取值范围为0~7。优先级的数值越小,优先级越高。当level配置为3时,表示能匹配优先级为0~3的日志。
· all表示和任意优先级匹配,效果同level配置为7。
msg msg:表示需要匹配的日志的部分或全部。msg表示包含日志部分或全部内容的正则表达式,为1~255个字符的字符串。
occurs times period period:表示设备在period时间内收到times次指定日志时触发监控策略执行。times的取值范围为1~32;period的取值范围为1~4294967295,单位为秒。
【使用指导】
配置该事件后,当系统在指定时间段内生成指定的日志信息时触发监控策略执行。为了防止循环触发,RTM模块产生的日志不会触发策略。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,最后一次配置并commit的生效。
正则表达式支持多种特殊字符,特殊字符的匹配规则如表1-7所示。
特殊字符 |
含义 |
举例 |
^ |
匹配以指定字符开始的行 |
^u只能匹配以u开始的行,不能匹配以Au开始的行 |
$ |
匹配以指定字符结束的行 |
u$只能匹配以u结尾的行,不能匹配以uA结尾的行 |
. |
通配符,可代表任何一个字符 |
.s可以匹配as和bs等 |
* |
匹配星号前面的字符或字符串零次或多次 |
· zo*可以匹配z以及zoo · (zo)*可以匹配zo以及zozo |
+ |
匹配+前面的字符或字符串一次或多次 |
zo+可以匹配zo以及zoo,但不能匹配z |
| |
匹配|左边或右边的整个字符串 |
def|int只能匹配包含def或者int的字符串所在的行 |
( ) |
表示字符串,一般与“+”或“*”等符号一起使用 |
(123A)表示字符串123A;408(12)+可以匹配40812或408121212等字符串,但不能匹配408 |
\index |
表示重复一次指定字符串,字符串是指\前用()括起来的字符串,index对应\前字符串的顺序号按从左至右的顺序从1开始编号:如果\前面只有一个字符串,则index只能为1;如果\前面有n个字符串,则index可以为1到n中的任意整数 |
(string)\1表示把string重复一次,匹配的字符串必须包含stringstring;(string1)(string2)\2表示把string2重复一次,匹配的字符串必须包含string1string2string2;(string1)(string2)\1\2表示先把string1重复一次,再重复一次string2,匹配的字符串必须包含string1string2string1string2 |
[ ] |
表示字符选择范围,将以选择范围内的单个字符为条件进行匹配,只要字符串里包含该范围的某个字符就能匹配到 |
· [16A]表示可以匹配到的字符串只需要包含1、6或A中任意一个 · [1-36A] 表示可以匹配到的字符串只需要包含1、2、3、6或A中任意一个(-为连接符) 如果]需要作为普通字符出现在[ ]内时,必须把]写在[ ]中字符的最前面,形如[]string],才能匹配到]。[没有这样的限制 |
[^] |
表示选择范围外的字符,将以单个字符为条件进行匹配,只要字符串里包含该范围外的某个字符就能匹配到 |
[^16A]表示可匹配的字符串只需要包含1、6和A之外的任意字符,该字符串也可以包含字符1、6或A,但不能只包含这三个字符。例如[^16A]可以匹配abc、m16,不能匹配1、16、16A |
{n} |
n是一个非负整数,匹配n次 |
o{2}不能匹配Bob,但是能匹配food |
{n,} |
n是一个非负整数,至少匹配n次 |
o{2,}不能匹配Bob,但能匹配foooood |
{n,m} |
m和n均为非负整数,其中n小于等于m。只要字符串里包含n到m个某字符就能匹配到 |
o{1,3}能匹配fod、food、foood、foooood,但不能匹配fd |
\< |
匹配包含指定字符串的字符串,字符串前面如果有字符则不能是数字、字母和下划线 |
\<do匹配单词domain,还可以匹配字符串doa |
\> |
匹配包含指定字符串的字符串,字符串后面如果有字符则不能是数字、字母和下划线 |
do\>匹配单词undo,还可以匹配字符串cdo |
\b |
匹配一个单词边界,也就是指单词和空格间的位置 |
er\b可以匹配never,但不能匹配verb \ber可以匹配erase,但不能匹配verb |
\B |
匹配非单词边界 |
er\B能匹配verb,但不能匹配never |
\w |
\w等效于[A-Za-z0-9_],是数字、字母或下划线 |
v\w能匹配vlan,v\w还能匹配service |
\W |
\W等效于[^A-Za-z0-9_],是除了数字、字母和下划线之外的任意字符 |
\Wa可以匹配-a,但是不能匹配2a和ba等 |
\ |
转义操作符,\后紧跟本表中罗列的单个特殊字符时,将去除特殊字符的特定含义 |
· \\可以匹配包含\的字符串 · \^可以匹配包含^的字符串 · \\b可以匹配包含\b的字符串 |
【举例】
# 为CLI监控策略test配置监控事件:当优先级高于或等于3、内容中含有down的日志在6秒内出现过5次时触发执行策略。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event syslog priority 3 msg down occurs 5 period 6
event track命令用来配置Track事件。
undo event命令用来取消事件配置。
【命令】
event track track-list state { negative | positive } [ suppress-time suppress-time ]
undo event
【缺省情况】
未配置Track事件。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
track-list:Track项列表,表示多个Track项的序号。表示方式为track-list = { track-entry-number [ to track-entry-number ] }&<1-16>。其中,track-entry-number为Track项的序号,取值范围为1~1024。&<1-16>表示前面的参数最多可以输入16次。
state { negative | positive }:监控Track项的状态变化。其中:
· negative:表示当Track项由Positive状态变为Negative状态时,触发该事件。
· positive:表示当Track项由Negative状态变为Positive状态时,触发该事件。
suppress-time suppress-time:抑制时间,取值范围为1~4294967295,单位为秒,缺省值为0。
【使用指导】
配置该事件后,当关联的Track项状态由Positive变为Negative或者Negative变为Positive时,触发监控策略执行。如果关联多个Track项,则最后一个处于Positive(Negative)状态的Track项变为Negative(Positive)时,触发监控策略执行。
如果配置了抑制时间,触发策略的同时开始计时,定时器超时前,收到状态从Positive(Negative)变为Negative(Positive)的消息,直接丢弃,不会处理。直到定时器超后,收到状态从Positive(Negative)变为Negative(Positive)的消息才处理,再一次触发策略执行。
例如,配置Track事件中的Track项用于自动检测本设备和上行BGP邻居间的链路,配置处理动作为自动执行命令peer ignore禁止与下行BGP邻居建立会话。使用这样的监控策略可以实现:当设备与上行邻居的BGP会话都中断时,能自动断开与下行邻居的BGP会话。
同一监控策略下,只能配置一个事件。如果多次执行event命令配置了不同事件,则最新配置并commit的生效。
【举例】
# 为Track监控策略test配置监控事件:监控Track项1到8全部变为Negative时,触发执行策略,并配置抑制时间为180秒。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] event track 1 to 8 state negative suppress-time 180
rtm cli-policy命令用来创建CLI监控策略,并进入CLI监控策略视图。如果指定的CLI监控策略已经存在,则直接进入CLI监控策略视图。
undo rtm cli-policy命令来删除指定的CLI监控策略。
【命令】
rtm cli-policy policy-name
undo rtm cli-policy policy-name
【缺省情况】
不存在CLI监控策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
policy-name:CLI监控策略的名称。为1~63个字符的字符串,区分大小写。
【使用指导】
创建CLI监控策略后,用户可以通过命令行给CLI监控策略配置触发事件以及需要执行的动作。
CLI监控策略配置完成后(即配置完触发事件以及需要执行的动作后),必须执行commit命令才能启用CLI监控策略,使配置的事件和动作生效。
多次执行该命令可以创建多个CLI监控策略且数量没有限制。请尽量确保同时启用的策略间动作不要冲突,因为当系统同时执行多个策略,且不同策略间动作有冲突时,执行结果是随机的。
Tcl监控策略和CLI监控策略的名称可以相同。
【举例】
# 创建CLI监控策略test并进入CLI监控策略视图。
<Sysname> system-view
[Sysname] rtm cli-policy test
【相关命令】
· commit
rtm environment命令用来创建监控策略的环境变量。
undo rtm environment命令来删除指定的环境变量。
【命令】
rtm environment var-name var-value
undo rtm environment var-name
【缺省情况】
不存在用户自定义的环境变量。系统中支持一系列内部环境变量,不同事件支持的内部环境变量及其意义有所不同,请参见表1-8。
事件 |
内部环境变量的名称以及描述 |
CLI |
_cmd:匹配上的命令 |
SYSLOG |
_syslog_pattern:匹配的日志信息的内容 |
HOTPLUG |
_slot:加入或离开IRF的成员设备的编号 |
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:事件的严重级别 |
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
var-name:环境变量的名称,为1~63个字符的字符串,只能包含数字、字母和下划线,并且不能以下划线开头,区分大小写。
var-value:环境变量的值。
【使用指导】
在配置监控策略的动作时,用户可以在应该输入参数的地方输入“$环境变量名”,表示此处需要引用环境变量值。系统在运行监控策略的时候,会自动用环境变量值去替代“$环境变量名”。
当同时用到多个环境变量时,请按照$variable_name1$variable_name2...$variable_nameN的格式输入。
【举例】
# 设置环境变量if,其值为interface。
<Sysname> system-view
[Sysname] rtm environment if interface
rtm event syslog buffer-size命令用来配置EAA监控的日志缓冲区的大小。
undo rtm event syslog buffer-size命令用来恢复缺省情况。
【命令】
rtm event syslog buffer-size buffer-size
undo rtm event syslog buffer-size
【缺省情况】
EAA监控的日志缓冲区的大小为50000条。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
buffer-size:EAA监控的日志缓冲区的大小,取值范围为1~500000,单位为条。
【使用指导】
为EAA策略配置日志事件,并确认执行后,系统会将生成的日志同时复制一份放入EAA监控的日志缓冲区。EAA模块将该缓冲区中的日志取出并和日志事件进行匹配,如果匹配成功,则执行动作;如果匹配失败,则不执行动作。
通常情况下,这个日志缓冲区的大小采用缺省值即可。当某特性功能异常或者用户开启了多个调试开关时,设备会在短时间内产生大量日志,导致一些日志来不及匹配便被丢弃,此时可根据当前设备内存的使用情况,适当增加EAA监控的日志缓冲区的大小。
【举例】
# 配置EAA监控的日志缓冲区的大小为1000条。
<Sysname> system-view
[Sysname] rtm event syslog buffer-size 1000
【相关命令】
· event syslog
rtm scheduler suspend命令用来暂停运行所有的监控策略,包括CLI监控策略和Tcl监控策略。
undo rtm scheduler suspend命令用来恢复运行监控策略。
【命令】
rtm scheduler suspend
undo rtm scheduler suspend
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
当监控策略被频繁触发影响用户使用设备或者用户需要修改Tcl监控策略的脚本内容时,可以使用本命令暂停运行所有的监控策略。
监控策略被暂停后,即便满足条件,也不再触发action命令。
如果执行本命令时,某个监控策略正在执行action命令,则这个监控策略会继续执行完所有的action命令,再被暂停。
【举例】
# 暂停所有的监控策略。
<Sysname> system-view
[Sysname] rtm scheduler suspend
rtm tcl-policy命令用来创建并启用Tcl监控策略,并将该策略与Tcl脚本绑定。
undo rtm tcl-policy命令来删除Tcl监控策略。
【命令】
rtm tcl-policy policy-name tcl-filename
undo rtm tcl-policy policy-name
【缺省情况】
不存在Tcl监控策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
policy-name:Tcl监控策略的名称。为1~63个字符的字符串,区分大小写。
tcl-filename:Tcl脚本文件的名称。文件名区分大小写,扩展名必须为“.tcl”,扩展名不区分大小写,Tcl脚本文件必须为设备存储介质上存在的文件。
【使用指导】
策略的具体内容由绑定的Tcl脚本来定义。脚本中会定义策略的触发事件、事件触发时要执行的操作、执行操作需要的角色、策略的运行时间等参数。
配置Tcl监控策略时,tcl-filename请使用相对路径并确保所有的成员设备上都存在该脚本,以免主备倒换或脚本所在成员设备离开IRF后,策略无法执行。
Tcl监控策略启用后,不允许修改Tcl脚本。如需修改,请先暂停Tcl监控策略,修改后,再启用Tcl监控策略。否则,Tcl监控策略将不能运行。
不能通过重复执行本命令修改Tcl监控策略绑定的Tcl脚本。如需修改,请先通过undo rtm tcl-policy命令删除该Tcl监控策略,再重新配置。
【举例】
# 创建并启用Tcl监控策略test,并将它和脚本test.tcl绑定。
<Sysname> system-view
[Sysname] rtm tcl-policy test test.tcl
running-time命令用来配置CLI监控策略执行动作的持续时间。
undo running-time命令用来恢复缺省情况。
【命令】
running-time time
undo running-time
【缺省情况】
CLI监控策略执行动作的持续时间为20秒。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
time:CLI监控策略执行动作的持续时间,取值范围为0~31536000,单位为秒。取值为0时,表示策略可以永久运行下去。
【使用指导】
当条件满足、监控策略被触发执行动作时,系统会开始计时。当运行时间到,即便策略还没有执行完动作,也会立即停止执行。该命令用于限制动作的执行时间,以免动作长时间执行占用系统资源。而策略是否会触发以及停止后是否会被再次触发则由event配置决定。
【举例】
# 配置CLI监控策略test执行动作的持续时间为60秒。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] running-time 60
user-role命令用来配置执行CLI监控策略时使用的用户角色。
undo user-role命令用来删除已经配置的指定用户角色。
【命令】
user-role role-name
undo user-role role-name
【缺省情况】
执行CLI监控策略时使用的用户角色为创建该策略的用户的角色。
【视图】
CLI监控策略视图
【缺省用户角色】
network-admin
【参数】
role-name:用户角色名称,为1~63个字符的字符串,区分大小写。
【使用指导】
用户角色中定义了允许用户操作哪些系统功能以及资源对象,设备支持的每条命令都有缺省用户角色,如果监控策略中指定的用户角色权限比命令行的缺省用户角色的权限小,则不能执行该命令以及该命令后面的所有动作。如果指定的用户角色不存在,则监控策略不能执行。如果给某个监控策略配置了多个用户角色,则使用这些用户角色权限的并集去执行该策略。例如,给某策略配置了用户角色A和B,如果策略中的动作是角色A或者B允许执行的,则策略可以执行;如果策略中存在角色A和B都不能执行的命令,则该命令以及该命令后面的所有动作都不能执行。关于用户角色的详细描述请参见“基础配置指导”中的“RBAC”。
同一监控策略下可配置多个用户角色,最多可以配置64个有效用户角色,超过该上限后,新配置的用户角色即便commit也不会生效。
安全日志管理员角色与其它用户角色互斥:配置安全日志管理员角色后,系统会自动删除已配置的其它用户角色;配置其它用户角色后,系统会自动删除已配置的安全日志管理员角色。
【举例】
# 配置执行CLI监控策略test时使用的用户角色为network-admin和admin。
<Sysname> system-view
[Sysname] rtm cli-policy test
[Sysname-rtm-test] user-role network-admin
[Sysname-rtm-test] user-role admin
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!