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,然后提供您的索引名称,然后检查“发现”是否包含数据
我有同样的问题,这对我工作:
- 从“设置”选项卡中删除索引。
- 重新启动Kibana
- 然后在“设置”中重新添加
时间序列的问题我敢肯定也可能是一个问题,但是如果在“发现”选项卡中没有显示字段,那么您可能会遇到与原始记者相同的问题。
我有同样的问题,@ 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)为我解决它。