我正在尝试使用日志文件中的时间戳。但是,这些时间戳具有以下格式,这与logstash的@timestamp
字段不同。
2014-10-31 02:45:09,355
尝试使用与日志文件中的时间戳相关的字段时,不会显示直方图。我已经改变了"时间字段"在" Timepicker"相应地,我的仪表板设置的选项卡以及直方图的设置。
任何建议都将不胜感激。
修改
以下是我目前在过滤器中的内容:
filter {
grok {
patterns_dir => ".\patterns"
match => [ "message", "%{LOGTIMESTAMP:tstamp}" ]
}
date {
locale => "en"
timezone => "Europe/Paris"
match => [ "tstamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
target => "tstamp"
}
}
至于我的正则表达式:
LOGTIMESTAMP (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3})
使用此配置,我收到以下错误:"无法解析字段中的日期"
有什么想法吗?
答案 0 :(得分:0)
我想将此添加为评论,但我没有声誉......无论如何,我猜测Kibana认为您的日期时间是字符串,而不是类型日期(请查看映射,
http://localhost:9200/_mapping?pretty
或其他)。
我遇到了类似的问题,但是遵循了这个问题:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html
但是,我所做的任何映射都无效,直到我以完全格式2014-12-03T09:04:02
输出它。 (如果我放弃T它就不会工作)
我的建议是尝试将日志文件时间转换为匹配,因为我无法让Kibana采用任何其他格式。
答案 1 :(得分:0)
你必须使用" date"过滤器告诉Logstash日期格式 - 然后它会将您的时间戳从文件转换为@timestamp字段。
答案 2 :(得分:0)
我花了一些时间来弄明白,但以下格式适合我在特定时间之间搜索条目(2015年5月27日上午11点到11点30分确切) -
@timestamp:[1432704600000 TO 1432706400000]
Kibana需要从纪元格式开始的毫秒级时间戳。
答案 3 :(得分:0)
对于相同的日志模式,我遇到了类似的问题“2014-10-31 02:45:09,355”。这个配置对我有用。
grok {
match => [ "message", "%{DATESTAMP:timestamp}" ]
}
date {
locale => "en"
timezone => "Europe/Paris"
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
target => ["tstamp"]
remove_field => ["timestamp"]
}