混合内容行中的Grok电子邮件和IP

问题描述 投票:1回答:1

我想Grok两个不同的领域,如电子邮件地址和IP。

我正在做以下事情:

 grok {match => [ "message", "%{EMAILADDRESS:username_client}" %{IP:client_ip} ]}

第一位很好,但是

%{IP:CLIENT_IP}

是错的。 “消息”基本上是混合的,例如:Whatever whatever 200 300 100 [email protected] whatever whatever IP(或类似的东西)

regex logstash logstash-grok
1个回答
1
投票

您可以使用.*指定任何0个或更多字符模式(贪婪版本,如果IP位于行末尾则使用)或.*?(懒惰版本,如果电子邮件和IP之间存在少量字符则使用)并将其置于2个grok模式:

"%{EMAILADDRESS:username_client}.*%{IP:client_ip}"
                                ^^ 
© www.soinside.com 2019 - 2024. All rights reserved.