Kibana:使用日志文件中的时间戳而不是@timestamp

uurity8g  于 2022-12-09  发布在  Kibana
关注(0)|答案(4)|浏览(264)

我尝试使用日志文件中的时间戳。但是,这些时间戳具有以下格式,这与logstash的@timestamp字段不同。

2014-10-31 02:45:09,355

当我尝试在日志文件中使用与时间戳相关的字段时,直方图没有显示。我已经相应地更改了 Jmeter 板设置的“时间选择器”选项卡中的“时间字段”,以及直方图的设置。
如有任何建议,我们将不胜感激。

编辑:

下面是我目前在我的过滤器:

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})

使用此配置时,出现以下错误:“从字段剖析日期失败”
有什么想法吗?

hrirmatl

hrirmatl1#

我想把这个作为注解添加进去,但是我没有这样的名声......无论如何,我猜Kibana认为你的日期时间是一个字符串,而不是一个类型日期(检查Map,
http://localhost:9200/_mapping?pretty或其他)。
我也遇到过类似的问题,但随之而来的是:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html
然而,我所做的任何Map都不起作用,直到我以2014-12-03T09:04:02exact格式输出它。(如果我去掉T,它就不起作用)
我的建议是尝试转换日志文件的时间,以匹配,因为我无法让Kibana采取任何其他格式。

dzhpxtsq

dzhpxtsq2#

您必须使用“date”过滤器来告诉Logstash日期格式-它会将您的时间戳从文件转换到@timestamp字段。
请看这里:http://logstash.net/docs/1.4.2/filters/date

zc0qhyus

zc0qhyus3#

我花了一些时间才弄明白,但以下格式对我来说适用于搜索特定时间之间的条目(确切地说是2015年5月27日上午11点到上午11点30分)-
@时间戳:[1432704600000至1432706400000]
Kibana要求使用epoch格式的时间戳(以毫秒为单位)。

g6ll5ycj

g6ll5ycj4#

我也遇到过类似的问题,同样的日志模式“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"]
}

相关问题