WARNING: Version 5.4 of Kibana has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. 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 (esAdmin, es) { es.ping() .then(() => esAdmin.ping()) .catch(err => { console.log('error pinging servers'); }); });