时间戳没有出现在Kibana中

时间:2015-04-03 09:02:35

标签: elasticsearch kibana kibana-4

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

我在弹性搜索中有一个索引,它有一些字段,包括_timestamp。当我去发现'发现'选项卡并查看我的文档,每个都有_timestamp字段,但字段旁边有一个黄色警告,说明"此字段没有缓存映射"。结果,我似乎无法按时间排序/过滤。

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

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

我正在使用Kibana 4.0。

5 个答案:

答案 0 :(得分:55)

您需要先执行以下快速步骤:

  1. 转到设置→高级
  2. 编辑 metaFields 并添加" _timestamp"。点击保存。
  3. 现在返回设置→索引 _timestamp 将显示在"时间字段名称"的下拉列表中。
  4. Kibana 4 Advanced Settings metaFields

答案 1 :(得分:2)

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

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

同样,在将数据发送到索引之前,必须指定此字段的映射。在python:

import requests
mapping = '{"mappings": {"your_index": {"properties": {"your_timestamp_field": { "type": "date" }}}}}'
requests.put('http://yourserver/your_index', data=mapping)
...
send_data()

答案 2 :(得分:2)

我的es版本是2.2.0

您必须使用正确的架构。 我关注guide 例如:

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

如果你有@timestamp,你会看到enter image description here

  

ps:如果您的架构没有" date"字段,不要检查"索引   包含基于时间的事件

答案 3 :(得分: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" 
        }
      }
    }
  }
}'

答案 4 :(得分:0)

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