# "Kibana server is not ready yet" after upgrade: what to check

TL;DR: Kibana stays not-ready when it cannot finish talking to Elasticsearch: usually a version mismatch after the upgrade, wrong hosts or credentials, or a failed saved-object migration. Read the first errors in the Kibana server log; they name the cause directly.

```text
{"statusCode":503,"error":"Service Unavailable","message":"Kibana server is not ready yet"}
```

## Steps

1. Read the Kibana log from startup. The first ERROR is the cause: version incompatibility, connection refused, authentication failure, or a migration stack trace.
**Expected:** One clear cause instead of guessing.

2. Check versions. Kibana and Elasticsearch must match on major and minor; query the Elasticsearch root endpoint and compare with the Kibana version.
**Expected:** Versions align; if not, upgrade the laggard.

3. Check connectivity and credentials. The Elasticsearch hosts Kibana is configured with must be reachable from the Kibana host, and the credentials must be valid; test both with a plain request as that user.
**Expected:** Elasticsearch answers 200 to the same address and credentials Kibana uses.

4. Check migrations. If the log shows saved-object migration failures, look at disk space on the Elasticsearch side and the state of the `.kibana` indices; fix the underlying cause and the migration retries on restart.
**Expected:** Migrations complete and Kibana turns green.

5. Check plugins. Third-party plugins built for the old version break the new one; remove or update them and restart.
**Expected:** Kibana reaches ready without plugin errors.

## Use this when
- Kibana shows `Kibana server is not ready yet`, usually right after an upgrade or config change

## Not for this skill when
- The browser shows `Kibana did not load properly`. That is a static asset issue, not readiness
- Logins loop with 401s. That is auth config, and Kibana is otherwise ready
- Elasticsearch itself is red. Fix the cluster first; Kibana is correctly waiting

## Variant phrasings
### Kibana server is not ready yet
The plain-text form seen in the browser while the backend is still starting.

## Why it happens
Kibana gates its HTTP routes behind core status. Plugins must initialize and saved-object migrations must complete before it reports ready, so anything that stalls startup (a version mismatch, unreachable Elasticsearch, a failed migration) pins it in not-ready.

## Edge cases
- Upgrade Elasticsearch before Kibana; the reverse order is unsupported and lands here
- The status API itself returns 503 while not ready, so check the server log instead of the status page
- A red task manager can hold Kibana not-ready even when everything else is green; its index needs the same disk and health care as the rest

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_ch_DEqpRIiumziLq4k0ZPA
