logstash grok 捕获重复模式

logstash grok Capturing repeating pattern

我有如下输入

2015-12-02T12:39:57.546461+08:00 222.55.201.19 c): start_time="2015-12-02 ...some other log info... src=192.168.1.153 dst=8.8.8.8 src_port=51145 dst_port=13 ...some other log info... start_time="2015-12-02 src=192.168.1.123 dst=8.8.8.8 src_port=52245 dst_port=53 ...some other log info...

上面有很多src和dst,所有这些都在一行中。

当我使用"message" => "src=%{IP:SRC} dst=%{IP:DST}"。我设法只得到第一个 src 和 dst。我无法在该行中获取其余的 src 和 dst。

我应该使用什么命令来实现我需要的?我听说我可能需要做一些拆分,但我找不到这方面的信息。

我已经通过变通方法解决了这个问题。我对源代码的生成方式进行了更改。源现在每行都有记录。

"split"方法我也试过了。它确实解决了问题,但代码量显着增加

另一个更好的方法是 kv 过滤器