- 问题描述
ELK6.2.3日志系统,访问kibana界面出现该提示,无法访问后端es数据,但是es集群是健康状态
-
问题原因
- kibana默认每2.5秒对es集群进行健康检查,如果短时间内没有数据返回,出现该报错
- 相关配置参数:elasticsearch.healthCheck.delay
- 代码如下:
kibana/src/core_plugins/elasticsearch/lib/health_check.js
const callDataAsKibanaUser = server.plugins.elasticsearch.getCluster('data').callWithInternalUser; const REQUEST_DELAY = config.get('elasticsearch.healthCheck.delay'); plugin.status.yellow('Waiting for Elasticsearch'); function waitForPong(callWithInternalUser, url) {
-
问题处理
- 修改kibana.yml 将参数elasticsearch.healthCheck.delay 数值增大 单位:ms
- 重启kibana服务
-
解决方法
- 每当再次检查时如若返回数据不及时,还会出现该问题,临时解决方法:设置时间长些,例如:3天,然后添加定时任务每两天定时重启kibana服务,注意观察http://127.0.0.1:5601/app/kibana 返回状态码,每隔10min检测是否是200,如果不是,继续重启kibana服务。
- 减少分片,可以提升每次check的响应速度
- 修改kibana源码,禁止健康检查,没有使用改方法。