Kibana在“发现”选项卡中不显示任何结果

我设置elasticsearch和Kibana索引我们的应用程序(错误)日志。 问题是Kibana在“发现”选项卡中不显示任何数据。

现在的情况

  • Elasticsearch正在运行,响应API
  • 直接在Elasticsearch上执行一个查询,就像http://elasticserver.com:9200/applogs/_search?q=*返回很多结果(见下面关于单个find的logging的样子)
  • Kibana正在运行,甚至发现了Elasticsearch暴露的applogs索引
  • Kibana也显示了applogs文档的正确属性和数据types
  • “发现”选项卡不显示任何结果…即使将时间段设置为几年…

有任何想法吗??

以下是Kibana如何看待applogs索引

在这里输入图像说明

弹性search查询结果对象如下所示:

 { _index: "applogs", _type: "1", _id: "AUxv8uxX6xaLDVAP5Zud", _score: 1, _source: { appUid: "esb.Idman_v4.getPerson", level: "trace", message: "WS stopwatch is at 111ms.", detail: "", url: "", user: "bla bla bla", additionalInfo: "some more info", timestamp: "2015-03-31T15:08:49" } }, 

.. 和我在发现选项卡中看到的内容

在这里输入图像说明

对于有这样问题的人:

更改右上angular的时间范围。

默认情况下,它只显示最近15分钟的数据

我想把这个作为一个评论,但不幸的是,我不能给我的不足回购这样做。 所以@Ngeunpobuild议,这是如何在创build时向索引添加时间字段: 在这里输入图像说明 。 如果您在创build索引时没有这样做,我build议您删除该索引并重新创build它。 gif中的索引名称logstash- *类似于您的索引applogs 。 在这种情况下,field @ timestamp被添加为时间字段。 让我知道这个是否奏效。

编辑:图片提供:这个精彩的ELK设置指南

Kibana不理解时间戳字段,如果它的格式不正确。 在configuration索引模式时通过单击时间字段名称select的时间 戳记需要是:

 "timestamp":"2015-08-05 07:40:20.123" 

那么你应该像这样更新你的索引映射:

 curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d' { "1": { "timestamp": { "enabled": true, "type": "date", "format": "yyyy-MM-dd HH:mm:ss.SSS", "store": true } } }' 

看到这个问题和答案

UPDATE

如果您使用ES 2.X,则可以将"format"设置为"epoch_millis"如下所示:

 curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d' { "1": { "timestamp": { "type": "date", "format": "epoch_millis", "store": true, "doc_values": true } } }' 

ELK创build索引或模式的示例图像

试试这个:取消单击“索引包含基于时间的事件”checkbox,然后提供您的索引名称,然后检查“发现”是否包含数据

我有同样的问题,这对我工作:

  1. 从“设置”选项卡中删除索引。
  2. 重新启动Kibana
  3. 然后在“设置”中重新添加

时间序列的问题我敢肯定也可能是一个问题,但是如果在“发现”选项卡中没有显示字段,那么您可能会遇到与原始记者相同的问题。

我有同样的问题,@ tAn-的评论帮助我解决它。 更改date字段为@时间戳做了诀窍。 感谢名单!

下一步应该是找出我的自定义date字段是错误的。

我有同样的问题,但现在它的工作正常。 问题在于@timestamp。 其实我已经上传文件到logstash使用logstash因此它会自动生成@timestamp字段。 Kibana比较时间范围与这个@时间戳,也就是实际事件发生时。即使我取消select“索引包含基于时间的事件”选项添加新的索引模式页面, kibana会自动考虑@timestamp字段。基于@timestamp字段的kibana时间框架适用于我。 你也可以通过添加一个时间戳添加索引模式来检查,并取消select“索引包含基于时间的事件”选项。看看会发生什么..现在不会是在kibana发现页面的任何时间框架select选项,你很可能会得到导致发现页面。 这些都是我的观察,不知道,这个解决scheme适合你的情况..你可以尝试..我使用ES 1.5x,logstash 1.5.1和kibana 4.1.0

我也遇到了同样的错误。 大多数情况下,这是因为时间格式 。 基本上,确保你的数据有有效的时间框架(右上angular的filter)。 无论如何,在我的情况下,我用纪元时间格式的时间戳,但没有奏效。 所以我改为epoch_millisec,而它的工作就像一个魅力。

总之,确保Kibana可以理解你的date时间格式。 这是必需的epoch_millisec默认不只是纪元。

与OP没有关系,但是如果你的Kibana实例在你试图让它识别你的索引时崩溃(在Settings> Indices下),请参阅https://github.com/elastic/kibana/issues/6419 ,它为我解决了这个问题太。

我有同样的问题,所以,如上面的解决scheme之一,我去了设置,并删除了以前的索引,并与@timestamp一个新的。

但是这并没有解决这个问题。 所以,我研究了这个问题,看到部署之后,没有任何东西进入Kibana。

所以,我进入服务器,看到索引已损坏。 所以我刚刚停止了实例/服务器上的logstash和elasticsearch,并重新启动了服务。 而Voila,它成功地重新启动了服务,kibana又回来了。

为什么会发生?

有人可能会突然停止服务器,导致索引损坏。

我可能有同样的问题 – 我看到仪表板中的数据,但0结果发现。 去pipe理>索引模式>刷新列表button(只有刷新图标的button)为我解决它。

Interesting Posts