如何将一个unixtimestamp转换为logstash中的正确时间戳

时间:2016-08-07 19:31:47

标签: logging logstash

我想从下面格式的条目中提取时间戳(也可能是程序名称)。如何将此条目转换为正确的logstash时间戳?我想这可以通过过滤器完成,但我只有提取字符串的示例,但我如何将此条目转换回日期时间字符串?

[36931.604673] anacron[502]: Job `cron.weekly' terminated
[36931.541637] anacron[502]: Job `cron.weekly' started

1 个答案:

答案 0 :(得分:1)

日期过滤器可以解析unix时间戳。

这将是过滤器:

date {
        match => [ "message", "UNIX" ]
        target => "my_timestamp"
    }

注意:

消息将是您解析时间戳的grok字段。之后会有日期过滤器。

我只用时间戳测试了这个,而stdin / stdout给出了:

artur@pandaadb:~/dev/logstash$ ./logstash-2.3.2/bin/logstash -f conf2/
Settings: Default pipeline workers: 8
Pipeline main started
36931.604673
{
         "message" => "36931.604673",
        "@version" => "1",
      "@timestamp" => "2016-08-08T12:15:41.538Z",
            "host" => "pandaadb",
    "my_timestamp" => "1970-01-01T10:15:31.604Z"
}

您可以在此处阅读您的文档:

https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html

阿图尔