首页 > 解决方案 > ElasticSearch / Kibana 时间戳 - 字段还是_source?

问题描述

我在 ES/Kibana 中的单个原始文档如下所示:

{
  "_index": "fluentd.apache.access.20191202",
  "_type": "_doc",
  "_id": "8jql724B3OrCHx56JnWb",
  "_score": 1,
  "_source": {
    "serveraddress": "....",
    "clientaddress": "...",
    "@timestamp": "2019-12-02T11:00:30+0000",
    "method": "GET",
    "url": "....",
    "status": 200,
    "bytes": 19820,
    "referrer": "....",
    "agent": "...",
    "@log_name": "apache.access"
  },
  "fields": {
    "@timestamp": [
      "2019-12-02T11:00:30.000Z"
    ]
  }
}

为什么@timestamps 的格式不同?

2019-12-02T11:00:30+0000 (UTC timezone, no milliseconds)
2019-12-02T11:00:30.000Z (milliseconds + "Z" for UTC timezone)

我的索引映射必须是什么样子才能在 Discover 中使用时间快速过滤器?

目前它看起来像这样,它没有显示时间跨度快速过滤器:

...,
"@timestamp": {
  "type": "date",
  "format": "yyyy-MM-dd'T'HH:mm:ssZ"
},
...

索引模式:

在此处输入图像描述

在此处输入图像描述

标签: elasticsearchkibanaelasticsearch-7

解决方案


您需要重新创建索引模式并确保选择该@timestamp字段作为该索引模式的时间字段。

这是 Kibana 用于根据在时间选择器中选择的时间来选择文档的字段。


推荐阅读