2012-09-07 15 views
0

我需要一個rsyslog正則表達式來將所有包含單詞「FIREWALL」的消息轉發到遠程服務器。原來的日誌格式是:正則表達式爲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/

回答

0

免責聲明進行驗證:我不知道如何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"