在logstash中以日期格式获取时间戳,日期和时间字段

时间:2017-05-09 06:14:15

标签: elasticsearch logstash kibana

我正在尝试每天在kibana 5中绘制日期直方图。因此,我希望x轴只是时间。现在,我有一个@timestamp字段,其日期时间被捕获为2017-04-17T20:12:47.221Z。我从csv文件中的时间戳字段捕获​​它,如下所示:[4/17/17 20:12:47:221]

这是我当前的logstash配置代码,它从csv文件中获取数据:

filter {
if [type] == "Error_file" {
    csv {
            columns => ["timestamp", "message"]
    }
    date {
            match => ["timestamp", "[M/dd/yy HH:mm:ss:SSS]"]
            add_field => { "Date" => "%{+M/dd/yy}" }
            add_field => { "Time" => "%{+HH:mm:ss:SSS}" }
    }

}

然而,日期和时间被捕获为字符串,我无法绘制日期直方图。如果在Kibana中有一种方法可以直接绘制上面的直方图而不分别捕获数据和时间,我也可以使用它。

刚刚开始使用ELK堆栈,如果您能提供一些解释和答案,我将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要使用如下所示的日期过滤器再次解析日期和时间字段。

date {
   match => [ "Date", "M/dd/yy"]
   target => "Date"
}
date {
  match => [ "Time", "HH:mm:ss:SSS"]
  target => "Time"
}