【问题标题】:Timestamp not appearing in Kibana时间戳未出现在 Kibana 中
【发布时间】:2015-06-08 08:48:53
【问题描述】:

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

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

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

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

我使用的是 Kibana 4.0。

【问题讨论】:

    标签: elasticsearch kibana kibana-4


    【解决方案1】:

    我的es版本是2.2.0

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

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

    如果你有@timestamp,你会看到

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

    【讨论】:

      【解决方案2】:

      接受的答案自 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" 
              }
            }
          }
        }
      }'
      

      【讨论】:

      • 问这个问题有点晚了,但是“日期”字段是指名称为“日期”的字段,还是只是类型为“日期”的字段?我和这篇文章有同样的问题,但正如你所说,_timestamp 的东西已被弃用。
      • 一个日期类型字段,您可以将其称为日期,但这是为了方便
      • 嗯。我定义了一些日期类型的字段,但它们没有显示在 Kibana 4 的时间字段名称框中。我将不得不继续挖掘。谢谢。
      【解决方案3】:

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

      您的日期字段必须采用标准格式,例如 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()
      

      【讨论】:

        【解决方案4】:

        您需要先采取这些快速步骤:

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

        【讨论】:

        • 注意,现在已弃用!
        • @Anoyz 请指定已弃用的 Kibana 版本。谢谢。
        • @Anoyz 绝对不是。我认为您混淆了两个独立的问题。
        • 是的,我仍然需要用 Kibana 4 来做这个
        • _timestamp 字段本身自 ES 2.0 起已弃用,但 kibana 中的此方法并未弃用。
        【解决方案5】:

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

        【讨论】:

        • 感谢 Alain,但不幸的是这不起作用(当我点击刷新图标时没有任何变化).. 我可能错误地设置了原始时间戳字段(我按照另一个问题的说明,在这里 @ 987654321@).
        • 是的,我想我在第一次创建索引时将 _timestamp 设置为已存储并启用。有没有办法检查?感谢您的耐心等待!
        • 你可以用 curl 拉取映射,它会告诉你。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-27
        • 2019-06-01
        • 2022-07-24
        • 2022-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多