2014-09-24 134 views
3

我想在logstash中将此日期结构YYYY-MM-DD_HH-MM-SS转换为YYYY-MM-DD HH:MM:SS。 这里是我的过滤器:访问logstash中的数组元素

filter { 


    csv { 
     separator => " " 

     columns => ["date","abc","xyz"] 
    } 

    mutate { 

     split => ["date", "_"] 
     gsub => [date[1]","-",":"] 
     join => [“date”, “ ”] 
    } 

} 

但我似乎无法访问日期[1]虽然它的存在,从JSON结果sniipet:

    "date" => [ 
    [0] "2014-09-22", 
    [1] "02-35-56" ], 

什么是正确的语法来访问日期[1 ]?如果不存在,那么转换此日期结构的替代过滤器是什么?

回答

4

你可以尝试使用ruby过滤

filter{ 
    ruby { 
     code => " 
      temp = event['date'] 
      event['date'] = temp.split('_')[0] + ' '+ temp.split('_')[1].gsub('-',':') 
     " 
    } 
} 

使用Ruby代码转换的日期。

+1

谢谢!这工作完美。 – user1411110 2014-09-24 18:43:20