NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Communicating with Elasticsearch
editCommunicating with Elasticsearch
editKibana exposes two clients on the server and browser for communicating with elasticsearch. There is an admin client which is used for managing Kibana’s state, and a data client for all other requests. The clients use the elasticsearch.js library.
Server clients
editServer clients are exposed through the elasticsearch plugin.
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');
Browser clients
editBrowser clients are exposed through AngularJS services.
uiModules.get('kibana') .run(function (es) { es.ping() .catch(err => { console.log('error pinging servers'); }); });