我想从下面格式的条目中提取时间戳(也可能是程序名称)。如何将此条目转换为正确的logstash时间戳?我想这可以通过过滤器完成,但我只有提取字符串的示例,但我如何将此条目转换回日期时间字符串?
[36931.604673] anacron[502]: Job `cron.weekly' terminated
[36931.541637] anacron[502]: Job `cron.weekly' started
答案 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
阿图尔