logstash grok 捕获重复模式

标签 logstash logstash-grok

我有一个类似于以下的输入

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 的其余部分。

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

最佳答案

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

我也尝试过“拆分”方法。它确实解决了问题,但代码量显着增加

关于logstash grok 捕获重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325370/

相关文章:

elasticsearch - 如何从ansible_results解析logstash/grok中的json

elasticsearch - Filebeat多行模式

elasticsearch - 使用Watcher(ElasticSearch)将所有聚合发送为文本

elasticsearch - Grok模式不适用于$字符

elasticsearch - logstash索引文本文件

regex - Grok 调试 - 仅首先匹配正则表达式未按预期工作

regex - Grok 调试器和 Logstash grok 中的不同行为

elasticsearch - 如果日志中的文档时间字段早于文档中的当前时间字段,则Logstash会忽略文档更新

elasticsearch - 过滤数据时出现logstash grok问题

elasticsearch - 在Logstash中为sql_last_value使用表的ID?