我正在尝试使用日志文件中的时间戳。但是,这些时间戳具有以下格式,与 logstash 的@timestamp
字段不同。
2014-10-31 02:45:09,355
尝试使用与日志文件中的时间戳相关的字段时,不会显示直方图。我已经相应地更改了仪表板设置的"时间选择器"选项卡中的"时间字段"以及直方图的设置。
任何建议将不胜感激。
编辑:
以下是我目前在过滤器中的内容:
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})
使用此配置,我收到以下错误:"从字段解析日期失败"
有什么想法吗?
我想添加这个作为评论,但我没有名声......无论如何,我猜 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 采用任何其他格式。
您必须使用"日期"过滤器来告诉 Logstash 日期格式 - 然后它会将您的时间戳从文件转换为@timestamp字段。
看看这里: http://logstash.net/docs/1.4.2/filters/date
花了我一些时间来弄清楚,但以下格式适用于我在特定时间(确切地说是 2015 年 5 月 27 日上午 11 点至上午 1130 点)之间搜索条目-
@timestamp:[1432704600000至1432706400000]
Kibana 要求以毫秒为单位的纪元格式时间戳。
对于相同的日志模式"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"]
}