今天在使用kibana时,出现异常。其结合Elasticsearch,用于处理服务日志。
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
百度百科

Timeout

提示kibana-Request Timeout after 30000ms故障解决

一、方法一:修改elastisearch的内存
lasticsearch多一点内存,配置文件/etc/elasticsearch/jvm.options,修改完毕重启服务

1
2
3
4
 # Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms8g #默认1g
-Xmx8g #默认1g

官方文档建议修改为机器内存的一半,不超过32GB。

二、方法二:修改kibana的超时时间
修改配置文件/etc/kibana/kibana.yml的第66行,将#去掉,然后将30000毫秒(也就是30s)更改成90000(90秒),这个根据实际情况进行修改。修改完毕后,重启服务

elasticsearch查看所有索引
GET _cat/indices

1
curl -X GET http://localhost:9200/_cat/indices?v > kibana_key.txt

index

提示:ElasticSearch is still initializing the kibana index
默认情况下,Elasticsearch 启用了字段的 动态映射。Kibana 需要利用动态映射在可视化控件中正确使用字段,同时管理 .kibana 索引,这些索引存储了已保存的搜索、可视化图表和仪表板。

意思是ES正在初始化 .kibana 索引,将 .kibana 索引删除(慎重)即可:

1
curl -XDELETE http://ES安装机器:9200/.kibana 

响应

1
{"acknowledged":true}% 

重启kibana,注意观察运行日志,如果都是turn to green 了,即 kibana 启动成功了。

测试 Elasticsearch 是否启动成功,可以打开另一个终端,执行以下操作:

1
curl 'http://localhost:9200/?pretty'

NO living connections

提示[elasticsearch] NO living connections
检查elasticsearch服务是否异常

参考文章

elastic官方文档
elastic安装
连接Kibana和Elasticsearch