我正在尝试将此日期结构 YYYY-MM-DD_HH-MM-SS 转换为 logstash 中的 YYYY-MM-DD HH:MM:SS。 这是我的过滤器:
filter {
csv {
separator => " "
columns => ["date","abc","xyz"]
}
mutate {
split => ["date", "_"]
gsub => [date[1]","-",":"]
join => [“date”, “ ”]
}
}
但我似乎无法访问 date[1],尽管它存在,来自 JSON 结果的 sniipet:
"date" => [
[0] "2014-09-22",
[1] "02-35-56" ],
访问 date[1] 的正确语法是什么?如果不存在,转换此日期结构的替代过滤器是什么?
最佳答案
你可以尝试使用ruby过滤器
filter{
ruby {
code => "
temp = event['date']
event['date'] = temp.split('_')[0] + ' '+ temp.split('_')[1].gsub('-',':')
"
}
}
使用 ruby 代码转换日期。
关于logstash - 访问 logstash 中的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26007503/