- 問題描述
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源碼,禁止健康檢查,沒有使用改方法。