应用场景:
缺省情况下,系统打出来的日志信息都可以输出到各个方向,当某些情况下,用户可能不关心某些日志信息或者只关心某些日志信息,则可以使用日志过滤功能,对该日志信息进行过滤。
功能介绍:
1、在某些情况下,管理员可能不想让某些日志信息显示出来,则可以通过此功能过滤系统产生的日志信息。
2、默认情况下,各个模块打印的日志信息都可显示到控制台或其它终端上。设置日志信息过滤原则可以让某些日志信息打出到某些终端中,或只想让某些日志信息打出到某些终端中。
3、日志信息的两种过滤类型,分为:“只包含”和“只过滤”,某一时刻只能配置其中的一种类型。
工作原理&配置详解:
日志过滤配置主要包含:过滤规则、过滤方向、过滤方式。不过配置过程中:
1)若只配置过滤方向、过滤类型,没有配置过滤规则(logging filter rule),那么配置不会生效,即不会进行日志过滤操作。
2)若只配置过滤规则,不配置过滤方向、过滤类型,配置可以生效,即会对日志进行过滤操作,默认过滤往所有方向的日志信息,过滤类型为“只过滤”。
1)过滤规则(logging filter rule):配置日志信息的过滤规则,全局模式配置,过滤可以“精确匹配”,也可以“单个匹配”。
日志信息的“精确匹配”过滤规则: logging filter rule exact-match [ module module-name mnemonic mnemonic-name level level ]
日志信息的“单个匹配”过滤规则:logging filter rule single-match [ level level | mnemonic mnemonic-name | module module-name ]
【参数说明】
exact-match
精确匹配,若选择精确匹配,则后面的三个过滤选项(日志模块名、日志等级、日志助记符)都需要选上。
single-match
单个匹配,若选择单个匹配,则后面的三个过滤选项(日志模块名、日志等级、日志助记符)只需要选择其中的一个。
module module-name
模块名,即填写要过滤的模块名称。
mnemonic mnemonic-name
助记符名称,即填写要过滤的日志信息助记符名称。
level level
日志信息等级,即填写要过滤的日志信息等级。
【使用指导】
1、某些情况下,用户可能只想过滤掉某一特定的日志信息,则可以使用“精确匹配”规则,在配置时,需要指定具体的模块名、助记符名称、日志等级。
2、某些情况下,用户可能想过滤掉某些类型的日志信息,则可以使用“单个匹配”规则,在配置时,只需要指定模块名、日志等级、助记符名称当中的一种。
3、当用户配置的日志信息过滤规则中,若单个匹配规则和精确匹配规则中同时配置了一样的模块名、助记符或信息等级,则单个匹配规避的优先级高于精确匹配。
【配置举例】
1:配置日志信息过滤规则为精确匹配,模块名为LOGIN、日志等级为5、助记符名称为LOGOUT:
Ruijie(config)# logging filter rule exact-match module LOGIN mnemonic LOGOUT level 5
2:配置日志信息的过滤规则为单个匹配,模块名为SYS:
Ruijie(config)# logging filter rule single-match module SYS
【常见咨询举例】
例1:过滤日志 046188: Aug 13 08:36:16: 401-C1&D1-RG-N18010 %SPANTREE-6-RCVDTCBPDU: (2/M1) Received tc bpdu on port AggregatePort 256 on MST0
命令:ruijie(conifg)#logging filter rule exact-match module SPANTREE mnemonic RCVDTCBPDU level 6
例2:过滤日志 *Jul 30 12:35:51: %SNMP-3-AUTHFAIL: Authentication failure for SNMP req from host 185.94.111.1
命令:ruijie(conifg)#logging filter rule exact-match module SNMP mnemonic AUTHFAIL level 3
例3:过滤日志 %PARAM-6-CONFIG_SYNC: Sync'ing the startup configuration to the standby supervisor
命令:ruijie(config)#logging filter rule exact-match module PARAM mnemonic CONFIG_SYNC level 6
2)过滤方向(logging filter direction):将往某个方向的日志信息过滤掉,全局模式下配置。
logging filter direction { all | buffer | file | server | terminal } //缺省为ALL,即过滤往所有方向的日志信息
default logging filter direction // 命令恢复日志信息的过滤方向为 all
【参数说明】
all
过滤往所有方向的日志信息(包括:Console方向、VTY终端、日志缓冲区、日志文件、日志服务器)
buffer
过滤往日志缓冲区的日志信息(即show logging命令显示出来的日志信息)
file
过滤往日志文件的日志信息
server
过滤往日志服务器的日志信息
terminal
过滤往控制台和VTY终端(包括Telnet/SSH等)的日志信息
【使用指导】
1、用户配置了日志过滤功能后,通常情况下,会想要将匹配过滤规则后的日志信息,在所有方向上都过滤掉(包括:Console方向、VTY终端、日志缓冲区、日志文件、日志服务器),而某些情况下,用户可能只想过滤往特定方向的日志信息,比如:过滤掉的日志信息不需要到终端界面,但需要写入到日志文件,或发送给日志信息器,只需要配置过滤往terminal方向的日志信息。
2、以上四类过滤方向为或(|)关系,即可以联合使用(对往多个方向的日志信息进行过滤),也可以单独使用(只对往某一方向的日志信息进行过滤)。
3)过滤类型(logging filter type):配置日志信息的过滤类型, 全局模式配置。
logging filter type { contains-only | filter-only } //缺省为filter-only,即过滤类型为“只过滤”
【参数说明】
contains-only “只包含”,代表:只输出包含了过滤规则里面的关键字信息的日志,其它没有包含过滤规则里面的日志不会输出。
filter-only “只过滤”,代表:将过滤掉包含了过滤规则里面的关键字信息的日志,不会输出这些过滤掉的日志信息。
【使用指导】
1、某些情况下,当遇到某一个模块打出的日志信息太多,可能引起终端界面刷屏,且用户又不关心此类日志信息时,可在设备上面应用“只过滤”这一日志过滤类型,将刷屏的日志信息过滤掉。
2、某些情况下,用户可能只关心某些日志信息是否产生,则可以在设备上面应用“只包含”这一日志过滤类型,让包含了此规则的日志信息才输出到终端界面,方便用于观察某些事件是否有发生。
3、在实际应用过程中,“只包含”和“只过滤”这两种过滤类型互斥,即同一时刻只能配置一种过滤类型。
配置举例:
【案例1】:
【要求】
假设网络环境中,有以下日志信息过滤功能设置要求:
1、设置日志信息的过滤方向为 terminal、 server 两个方向;
2、设置日志信息的过滤方式为“只过滤”;
3、设备日志信息的过滤规则为“单个匹配”,并且模块名包含 SYS 的日志信息过滤掉。
2、设置日志信息的过滤方式为“只过滤”;
3、设备日志信息的过滤规则为“单个匹配”,并且模块名包含 SYS 的日志信息过滤掉。
3、设备日志信息的过滤规则为“单个匹配”,并且模块名包含 SYS 的日志信息过滤掉。
【配置方法】
在设备上面配置系统日志的过滤功能:
Ruijie# configure terminal
Ruijie(config)# logging filter direction server
Ruijie(config)# logging filter direction terminal
Ruijie(config)# logging filter type filter-only
Ruijie(config)# logging filter rule single-match module SYS
【检验方法】
1、通过 show running-config | include loggging 命令可以查看用户配置的相关参数信息。
2、 通过进入/退出全局配置模式,观察系统是否会输出日志信息。
Ruijie#configure
Enter configuration commands, one per line. End with CNTL/Z.
Ruijie(config)#exit
Ruijie#