ElasticSearch / Kibana 时间戳 - 字段还是_source?

ElasticSearch / Kibana timestamp - field or _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"
    ]
  }
}

为什么 @timestamp 的格式不同?

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"
},
...

索引模式:

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

这是 Kibana 根据时间select编辑文档select使用时间选择器

的字段。