在logstash中访问数组元素

时间:2014-09-24 02:21:12

标签: logstash gsub

我正在尝试将此日期结构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]的正确语法是什么?如果不存在,那么转换此日期结构的替代过滤器是什么?

1 个答案:

答案 0 :(得分:4)

您可以尝试使用ruby过滤器

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

使用ruby代码转换日期。