FAQ:如何过滤设备logbuffer中的某类日志信息

发布时间:  2014-09-15 浏览次数:  179 下载次数:  0
问题描述
Q:
如何过滤设备logbuffer中的某类日志信息?
解决方案
A:
1、要部署日志过滤前,首先要能读懂日志格式,如下图所示

比如要过滤logbuffer中的这类日志“Jul 18 2014 15:16:32 SW7-7703 %%01SHELL/4/LOGINFAILED(l)[0]:Failed to login. (Ip=172.32.0.5, UserName=admin, Times=3, AccessType=TELNET)”
对照上面的日志格式,我们可以看出该日志特征:
1)模块名为SHELL
2)日志级别为4级
3)信息摘要为LOGINFAILED

2、根据过滤的精细化程度,目前有三种解决方案
方案一:过滤级别最精细化
通过info-center filter-id bymodule-alias SHELL LOGINFAILED,可以精细化过滤SHELL模块里面 LOGINFAILED类日志。
日志模板和信息摘要都可以在输入命令时通过?查询得到。
需要注意目前只支持对50个不同的ID进行屏蔽。过滤表中日志ID数超过50时,会提示过滤表满,如果需要继续配置信息的过滤功能,需要先执行命令undo info-center filter-id { id | bymodule-alias modname alias } &<1-50> [ bytime interval | bynumber number ]或undo info-center filter-id all删除之前配置的ID,然后继续配置。

方案二:过滤级别次精细化
[SW7-7703]info-center source SHELL channel logbuffer log level ?
  alert                   Immediate action needed           (severity=1)
  critical               Critical conditions                         (severity=2)
  debugging       Debugging messages                 (severity=7)
  emergencies   System is unusable                      (severity=0)
  error                   Error conditions                             (severity=3)
  informational    Informational messages            (severity=6)
  notification    Normal but significant conditions (severity=5)
  warning             Warning conditions                      (severity=4)
通过info-center source SHELL channel 4 log level error,调整SHELL模块的输出级别高于前面输出的4级( warning)
需要注意,该方式会把SHELL模块中的4、5、6、7级别日志全部过滤掉。

方案三:过滤级别较粗放
通过info-center source SHELL channel 4 log state off直接关闭整个SHELL模块的log日志输出。


END