如何在正则表达式语句中找到 [**] 以便我可以将 multi_line_start_pattern 用于 aws cloudwatch 代理
How to find [**] in a regex statement so I can use multi_line_start_pattern for aws cloudwatch agent
我有一个如下所示的日志流:
[**] [1:10000001:1] ICMP test [**]
[Priority: 0]
12/12-05:35:39.933931 172.31.12.xxx -> 172.31.2.xxx
ICMP TTL:64 TOS:0x0 ID:375 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:14832 Seq:3927 ECHO
[**] [1:10000001:1] ICMP test [**]
[Priority: 0]
12/12-05:35:40.933854 172.31.12.106 -> 172.31.2.207
ICMP TTL:64 TOS:0x0 ID:417 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:14832 Seq:3928 ECHO
我想使用 cloudwatch 代理从多行事件创建单个事件。
根据文档:
multi_line_start_pattern – Specifies the pattern for identifying the start of a log message. A log message is made of a line that matches the pattern and any following lines that don't match the pattern.
If you omit this field, multi-line mode is disabled, and any line that begins with a non-whitespace character closes the previous log message and starts a new log message.
如何创建一个正则表达式来查找 [**] 是否存在。例如。
"multi_line_start_pattern": "\[\*\*\]\"
对于模式:
[**] ANYTHING [**]
根据我的收集,找到 [**] 的存在就足以找到多行事件的开始。
那么找到 [] 或更好的 [] 任何东西 [**] 的正则表达式模式是什么?我不知道正则表达式
谢谢
试试这个,尽管它可能因您的语言而异。
\[\*\*\].+
试试这个
/^\[\*\*\]([\s\w\[\]\:])*?\[\*\*\]/gm
说明:^
表示,行必须以以下内容开头。然后 **
然后一些 space 括号文本,然后再次 **
。 g
表示搜索整个文档,m
表示多行
我有一个如下所示的日志流:
[**] [1:10000001:1] ICMP test [**]
[Priority: 0]
12/12-05:35:39.933931 172.31.12.xxx -> 172.31.2.xxx
ICMP TTL:64 TOS:0x0 ID:375 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:14832 Seq:3927 ECHO
[**] [1:10000001:1] ICMP test [**]
[Priority: 0]
12/12-05:35:40.933854 172.31.12.106 -> 172.31.2.207
ICMP TTL:64 TOS:0x0 ID:417 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:14832 Seq:3928 ECHO
我想使用 cloudwatch 代理从多行事件创建单个事件。
根据文档:
multi_line_start_pattern – Specifies the pattern for identifying the start of a log message. A log message is made of a line that matches the pattern and any following lines that don't match the pattern.
If you omit this field, multi-line mode is disabled, and any line that begins with a non-whitespace character closes the previous log message and starts a new log message.
如何创建一个正则表达式来查找 [**] 是否存在。例如。
"multi_line_start_pattern": "\[\*\*\]\"
对于模式:
[**] ANYTHING [**]
根据我的收集,找到 [**] 的存在就足以找到多行事件的开始。
那么找到 [] 或更好的 [] 任何东西 [**] 的正则表达式模式是什么?我不知道正则表达式
谢谢
试试这个,尽管它可能因您的语言而异。
\[\*\*\].+
试试这个
/^\[\*\*\]([\s\w\[\]\:])*?\[\*\*\]/gm
说明:^
表示,行必须以以下内容开头。然后 **
然后一些 space 括号文本,然后再次 **
。 g
表示搜索整个文档,m
表示多行