【问题标题】:regex for rsyslog to exclude a patternrsyslog 的正则表达式以排除模式
【发布时间】:2012-09-07 08:25:22
【问题描述】:

我需要一个 rsyslog 正则表达式来将所有包含“防火墙”一词的消息转发到远程服务器。原始日志格式为:

7 月 24 日 16:33:09 FW02 内核:[3456825.472985] FIREWALL_DENY_IN: IN=eth2 OUT=MAC=ff:ff:ff:ff:ff:ff:00:1b:78:e4:b3:24:08 :00 SRC=10.101.103.193 DST=10.101.103.255 LEN=237 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=51512 DPT=694 LEN=217

所需的日志格式是没有内核时间:

7 月 24 日 16:33:09 FW02 内核:FIREWALL_DENY_IN: IN=eth2 OUT=MAC=ff:ff:ff:ff:ff:ff:00:1b:78:e4:b3:24:08:00 SRC =10.101.103.193 DST=10.101.103.255 LEN=237 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=51512 DPT=694 LEN=217

我对正则表达式的经验是基本的。我能够匹配我需要排除的部分:

[ *[0-9]*\.[0-9]*\]

但仅此而已。正则表达式必须在 http://www.rsyslog.com/regex/ 上验证

【问题讨论】:

    标签: regex logging rsyslog


    【解决方案1】:

    免责声明:我不知道 rsyslog 是如何工作的,但也许下面的正则表达式可以提供帮助

    ^([^[]*).*\](.*)$

    子匹配 1:

    "Jul 24 16:33:09 FW02 kernel: "

    子匹配 2:

    " FIREWALL_DENY_IN: IN=eth2 OUT=MAC=ff:ff:ff:ff:ff:ff:00:1b:78:e4:b3:24:08:00 SRC=10.101.103.193 DST=10.101.103.255 LEN=237 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=51512 DPT=694 LEN=217"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2014-12-14
      • 2015-12-16
      • 2015-02-09
      相关资源
      最近更新 更多