How can a load balancer tell if a Kibana intsance is usable?

Kibana 6.8

Is there anything that a load balancer can look at that will tell it Kibana is really actually properly ready for use by a human being and not potentially route someone to a Kibana instance that has just been started up and is still in a state where it'll show a human an error message?

Just doing a http request to / is no use because it will sometimes return a 200 status yet a web browser displays "Kibana did not load properly. Check the server output for more information".

Looking for the absence of the message "Kibana did not load properly. Check the server output for more information" is no use because that message is in the response body even when the UI is ready for use.

Parsing /api/status is no use because that says everything is green even before the UI is ready for use.

Any useful UI element the existence of which would indicate the UI is ready for use seems to be thus invisible to anything but human eyes as they come in to existence by way of JavaScript rather than being in the response body.

There seems to be a /status endpoint described briefly here: https://github.com/elastic/kibana/issues/46984

Also, we are missing documentation on this. It's being worked on currently: https://github.com/elastic/kibana/issues/9129

Checking the root is what most people are doing these days. The "Kibana did not load properly" error is actually a client-side error when an asset doesn't load.

So do most people just hope that their load balancer doesn't route people to a Kibana instance that isn't ready for use?

Sure, but it can be the case that the message appears because Kibana hasn't yet started up to the point where it can be used. A user can encounter that error, wait a few seconds, refresh and get a usable Kibana. And it would be nice if was possible to stop a load balancer sending someone to a Kibana instance that displays that error only because Kibana hasn't quite started up properly yet. Maybe some users will see the error and think "maybe if I hit refresh it'll work" but many will see it and then tell whoever manages Kibana that it's broken.

It's also described in the Kibana documentation.
https://www.elastic.co/guide/en/kibana/6.8/access.html
It appears to provide nothing different from /api/status

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.