30

我对 Kibana 很陌生,只是设置了一个实例来查看一些 ElasticSearch 数据。

我在 Elastic Search 中有一个索引,它有几个字段,包括 _timestamp。当我转到“发现”选项卡并查看我的文档时,每个文档都有 _timestamp 字段,但字段旁边有一个黄色警告,显示“此字段没有缓存映射”。结果,我似乎无法按时间排序/过滤。

当我尝试创建新的索引模式并单击“索引包含基于时间的事件”时,“时间字段名称”下拉列表不包含任何内容。

我还需要做些什么来让 Kibana 识别 _timestamp 字段吗?

我正在使用 Kibana 4.0。

4

5 回答 5

56

您需要先采取以下快速步骤:

  1. 转到设置 → 高级
  2. 编辑元字段并添加“_timestamp” 点击保存。
  3. 现在返回设置 → 索引_timestamp将在“时间字段名称”的下拉列表中可用。

Kibana 4 高级设置元字段

于 2015-04-09T09:53:37.570 回答
3

在较新的版本中,您需要在发送数据之前指定日期字段。

您的日期字段必须采用标准格式,例如 Epoch 之后的毫秒数(长数字)或 - 正如 MrE 所建议的 - 在 ISO8601 中。在此处查看更多信息:https ://www.elastic.co/guide/en/elasticsearch/reference/current/date.html

同样,在将数据发送到索引之前,您必须指定该字段的映射。在蟒蛇中:

import requests
mapping = '{"mappings": {"your_index": {"properties": {"your_timestamp_field": { "type": "date" }}}}}'
requests.put('http://yourserver/your_index', data=mapping)
...
send_data()
于 2016-02-18T15:08:46.437 回答
2

我的es版本是2.2.0

您必须使用正确的架构。我遵循指南 例如:

 {
        "memory": INT,
        "geo.coordinates": "geo_point"
        "@timestamp": "date"
    }

如果您有@timestamp,您将看到在此处输入图像描述

ps:如果您的架构没有“日期”字段,请不要检查“索引包含基于时间的事件

于 2016-03-02T02:11:33.743 回答
1

自 Kibana 2.0 起,接受的答案已过时

您应该在数据中使用一个简单的date字段,并使用时间戳或 ISO 8601 格式的日期字符串显式设置它。 https://en.wikipedia.org/wiki/ISO_8601

您还需要在开始发送数据之前设置一个映射到日期。

curl -XPUT 'http://localhost:9200/myindex' -d '{
  "mappings": {
    "my_type": {
      "properties": {
        "date": {
          "type": "date" 
        }
      }
    }
  }
}'
于 2015-11-10T18:51:36.410 回答
0

转到设置->索引,选择您的索引,然后单击黄色的“刷新”图标。这将消除警告,并可能使该字段在您的可视化中可用。

于 2015-04-03T17:52:15.447 回答