Regex 如何匹配“的模式”;a=b c=d";在grok(logstash)更改订单?

Regex 如何匹配“的模式”;a=b c=d";在grok(logstash)更改订单?,regex,logstash,logstash-grok,Regex,Logstash,Logstash Grok,我使用Logstash来匹配Fortinet analyzer日志,问题是有太多没有字段顺序的模式 e、 g.一种类型的信息是: service=DNS hostname=“a.b.net”profile=“DNS”action=blocked reqtype=direct url=“/”sentbyte=0 rcvdbyte=0 direction=N/a msg=“url属于策略中被拒绝的类别”method=domain cat=61 catdesc=“Phishing”crscore=60

我使用Logstash来匹配Fortinet analyzer日志,问题是有太多没有字段顺序的模式

e、 g.一种类型的信息是:

service=DNS hostname=“a.b.net”profile=“DNS”action=blocked reqtype=direct url=“/”sentbyte=0 rcvdbyte=0 direction=N/a msg=“url属于策略中被拒绝的类别”method=domain cat=61 catdesc=“Phishing”crscore=60 crlevel=high

…另一个是:

msg=“文件已感染。”操作=阻止服务=HTTP会话ID=33137方向=传入文件名=“favicon.ico”quarskip=No skip virus=“MSWord/Agent.DD60!tr”dtype=“virus”ref=”http://www.fortinet.com/ve?vn=MSWord%2FAgent.DD60%21tr“virusid=6920465 profile=“AV”

如您所见,两者都有
msg
action
service
profile
,但顺序不同

是否需要构建一个模式来匹配以下内容:

(.*?)=%{DATA:\1?}\s 

…在为字段提供第一个匹配项的名称时?

使用可以将其全部拆分但不关心顺序的。

使用可以将其全部拆分但不关心顺序的。

使用可以将其全部拆分但不关心顺序的。

使用可以将其全部拆分但不关心顺序的关心顺序。

似乎
^(?=.*msg=“(?[^”]*)”(?[^“]*)”(?=.*action=(?\S*))(?=.*service=(?\S*))(?=.*profile=“(?[^”]*)
可以有所帮助。请查收。但它需要所有4个参数的存在。如果部分或全部可能丢失,请在命名捕获后使用
。这是一个大的记录文件吗?如果单个字段出现故障,您如何知道一条记录在哪里停止,下一条记录在哪里开始?另外,您使用的正则表达式引擎的功能是什么?就像它做条件一样?似乎
^(?=.*msg=“(?[^”]*)”(?[.*action=(?\S*))(?=.*service=(?\S*))(?=.*profile=“(?[^”]*)”
可以提供帮助。请查收。但它需要所有4个参数的存在。如果部分或全部可能丢失,请在命名捕获后使用
。这是一个大的记录文件吗?如果单个字段出现故障,您如何知道一条记录在哪里停止,下一条记录在哪里开始?另外,您使用的正则表达式引擎的功能是什么?就像它做条件一样?似乎
^(?=.*msg=“(?[^”]*)”(?[.*action=(?\S*))(?=.*service=(?\S*))(?=.*profile=“(?[^”]*)”
可以提供帮助。请查收。但它需要所有4个参数的存在。如果部分或全部可能丢失,请在命名捕获后使用
。这是一个大的记录文件吗?如果单个字段出现故障,您如何知道一条记录在哪里停止,下一条记录在哪里开始?另外,您使用的正则表达式引擎的功能是什么?就像它做条件一样?似乎
^(?=.*msg=“(?[^”]*)”(?[.*action=(?\S*))(?=.*service=(?\S*))(?=.*profile=“(?[^”]*)”
可以提供帮助。请查收。但它需要所有4个参数的存在。如果部分或全部可能丢失,请在命名捕获后使用
。这是一个大的记录文件吗?如果单个字段出现故障,您如何知道一条记录在哪里停止,下一条记录在哪里开始?另外,您使用的正则表达式引擎的功能是什么?就像它做条件一样?使用kv过滤器解决了所有问题。非常感谢,直到现在我才明白kv代表关键价值。。。感谢使用kv滤波器解决了所有问题。非常感谢,直到现在我才明白kv代表关键价值。。。感谢使用kv滤波器解决了所有问题。非常感谢,直到现在我才明白kv代表关键价值。。。感谢使用kv滤波器解决了所有问题。非常感谢,直到现在我才明白kv代表关键价值。。。谢谢