0

「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/で検証する必要があります

4

1 に答える 1

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"

于 2012-09-07T08:53:52.790 に答える