Kibana will not connect to Elasticsearch on Amazon Elasticsearch Service

After switching from my own Elastiscsearch cluster to Amazon Elasticsearch Service , my Kibana panels (versions 4.0.2 and 4.1.2) will not load, and I get the following error in the kibana.log file:

{ "name": "Kibana", "hostname": "logs.example.co", "pid": 8037, "level": 60, "err": { "message": "Not Found", "name": "Error", "stack": "Error: Not Found\n at respond (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/src\/lib\/transport.js:235:15)\n at checkRespForFailure (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/src\/lib\/transport.js:203:7)\n at HttpConnector.<anonymous> (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/src\/lib\/connectors\/http.js:156:7)\n at IncomingMessage.bound (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/node_modules\/lodash-node\/modern\/internals\/baseBind.js:56:17)\n at IncomingMessage.emit (events.js:117:20)\n at _stream_readable.js:944:16\n at process._tickCallback (node.js:442:13)" }, "msg": "", "time": "2015-10-14T20:48:40.169Z", "v": 0 } 

Unfortunately, this error does not help much. I assume this is wrapped HTTP 404, but for what?

How to connect a Kibana installation to Amazon Elasticsearch?

+2
amazon-web-services kibana amazon-elasticsearch
source share
1 answer

Here are some things to keep in mind when using Amazon Elasticsearch:

  • Modifications to access policies take a non-deterministic amount of time. I found that waiting at least 15 minutes after the status is no longer "processed" after making changes to the policy.

  • It listens on port 80 for HTTP requests, not the standard port 9200. Make sure your elasticsearch_url configuration directive reflects this, for example:

    elasticsearch_url: " http://es.example.co:80 "

  • It is very likely that your Kibana instance will not have the necessary permissions to create an index that the toolbar should show you - this is at the root of the problem. Check the indexes in the Elasticsearch domain and find the line that matches the kibana_index config directive (for example, via http://es.example.co/_cat/indices ).

for example, if your kibana_index directive is a .kibana-4 value, if you do not see a line such as:

 green open .kibana-4 1 1 3 2 30.3kb 17.2kb 

then your Kibana index could not create the index it needs. If you go to the control panel for the Amazon Elasticsearch service and click on the Kibana link, it will most likely create a .kibana-4 index for you.

You can specify this index in your existing Kibana configuration, and you should see the next point.

  1. Your existing Kibana installation will most likely require authentication through the header:

    Kibana: The credentials parameter is required for the authorization header. The authorization header requires the Signature parameter. The authorization header requires the SignedHeaders parameter. The authorization header requires either the "X-Amz-Date" or "Date" header.

You can configure this in Kibana and you can see the general signature of the API documentation for more help.

It's worth noting that bug reporting has clearly improved in Kibana 4.2, but since the beta version and Amazon Elasticsearch Service were only recently released, the above should be useful for debugging.

+5
source share

All Articles