我对Logstash有问题。它只匹配第一次出现。例如。我正在接收这样的数据:
2015.01.01
2017.05.02
2015.08.03
2011.10.24
2010.02.25
我有过滤器:
filter{
grok {
match => { "message" => "(?<started>%{YEAR}.%{MONTHNUM}.%{MONTHDAY})" }
}
我想获取所有日期并将其保存在某处。但是在输出中,我只有一个结果:
{
"message":"2015.01.01\n2017.05.02\n2015.08.03\n2011.10.24\n2010.02.25",
"host":"127.0.0.1",
"started":"2015.01.01",
}
如何告诉logstash / grok获取所有日期?
谢谢!
答案 0 :(得分:0)
您的输入配置如何以及如何通过http发送数据?
将输入设置为文件时,它可以工作,因为它逐行读取文件,并且每一行只有一个日期。
当您使用http发送它时,它似乎是在一行中发送整个文件,其中的换行符为\n
,但是所有内容仅是logstash的一个事件,这就是为什么它只匹配第一个日期的原因找到了。