Checking Kibana status confirms the server is reachable and ready to serve dashboards, alerts, and API requests. Fast status checks reduce guesswork during upgrades, incident response, and load balancer health probes.
Kibana exposes health information through the /api/status endpoint, returning JSON that includes an overall state plus detailed status for core services and plugins. Instance metadata such as the Kibana version is included in the response, helping confirm the expected node is answering requests.
Security settings, reverse proxies, and TLS determine how the status endpoint is reached and what credentials are required. Authentication is typically required when Elastic Stack security is enabled, and the URL may include a prefix when server.basePath is configured.
Steps to check Kibana status:
- Query the status endpoint.
$ curl --silent --show-error --user elastic "http://localhost:5601/api/status" Enter host password for user 'elastic': { "name": "kibana", "uuid": "b1d9a7b9-5f23-4c59-9c0f-6c0f0a2d9e37", "version": { "number": "8.12.2" }, "status": { "overall": { "level": "available", "summary": "All services are available" }, ##### snipped ##### } }Include any reverse-proxy prefix (server.basePath) in the URL, and use https:// when Kibana is served over TLS.
- Extract the overall status block to confirm readiness.
$ curl --silent --show-error --user elastic "http://localhost:5601/api/status" | grep -A 4 '"overall"' Enter host password for user 'elastic': "overall": { "level": "available", "summary": "All services are available" }, - Check the elasticsearch core service entry to confirm cluster connectivity.
$ curl --silent --show-error --user elastic "http://localhost:5601/api/status" | grep -A 6 '"elasticsearch"' Enter host password for user 'elastic': "elasticsearch": { "level": "available", "summary": "Elasticsearch is available" }, ##### snipped ##### - Search for any components reporting non-available levels.
$ curl --silent --show-error --user elastic "http://localhost:5601/api/status" | grep -nE '"level": "(degraded|unavailable|critical)"' -B 2 -A 2 Enter host password for user 'elastic':
No output indicates no components reported degraded, unavailable, or critical in the status response.
- Verify the endpoint returns HTTP 200 through the client-facing host name and path.
$ curl --silent --show-error --output /dev/null --write-out "%{http_code}\n" --user elastic "http://localhost:5601/api/status" Enter host password for user 'elastic': 200Using --user user:password stores credentials in shell history; prefer --user user to prompt for the password or use an Authorization header.
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.
