我的输入类似于以下
2015-12-02T12:39:57.546461 + 08:00 222.55.201.19 c): start_time =“2015-12-02 ......其他一些日志信息...... src = 192.168.1.153 dst = 8.8.8.8 src_port = 51145 dst_port = 13 ...其他一些日志信息...... start_time =“2015-12-02 src = 192.168.1.123 dst = 8.8.8.8 src_port = 52245 dst_port = 53 ...其他一些日志信息...
上面有很多src和dst,所有这些都在一行中。
当我使用"message" => "src=%{IP:SRC} dst=%{IP:DST}"
时。我设法只得到第一个src和dst。我无法获得剩余的src和dst。
我应该使用什么命令来实现我的需要?我听说我可能需要做一些拆分,但我找不到相关的信息。
答案 0 :(得分:1)
我通过解决方法解决了这个问题。我已经改变了源的生成方式。源现在每行都有记录。
我也试过"分裂"方法。它确实解决了问题,但代码量显着增加
答案 1 :(得分:1)
另一个更好的方法是kv过滤器