与 Elasticsearch 通信
edit与 Elasticsearch 通信
editKibana 在服务器和浏览器上暴露了两个客户端用于和 elasticsearch 通信。其中一个为管理客户端,用于管理 Kibana 的状态;另外一个为数据客户端,用于处理其它所有的请求。客户端使用 elasticsearch.js 库。
服务器客户端
edit服务器客户端通过 elasticsearch 插件暴露。
const adminCluster = server.plugins.elasticsearch.getCluster('admin); const dataCluster = server.plugins.elasticsearch.getCluster('data); //ping as the configured elasticsearch.user in kibana.yml adminCluster.callWithInternalUser('ping'); //ping as the user specified in the current requests header adminCluster.callWithRequest(req, 'ping');
浏览器客户端
edit浏览器客户端通过 AngularJS 服务暴露。
uiModules.get('kibana') .run(function (esAdmin, es) { es.ping() .then(() => esAdmin.ping()) .catch(err => { console.log('error pinging servers'); }); });