🛠️ Fixing Wazuh Dashboard Migration Loops
🛠️ Fixing Wazuh Dashboard Migration Loops
If you arekeep seeing the "“Wazuh dashboard server is not ready yet"yet” message repeatedly, you are likely stuck in a loop, the Wazuh Dashboard is almost always stuck on a migration lock.lock. FollowThis thesetypically stepshappens after an interrupted upgrade or restart.
🔐 Security Warning
Never store real credentials in exactdocumentation. orderIf toa breakpassword was previously exposed on this page, rotate it immediately.
📋 Overview
- Symptom: Dashboard never finishes loading
- Root cause: Stuck
.kibanamigration index - Fix: Remove the
loopcorruptedpermanently.index and allow a clean rebuild
Step 1:① Stop the Wazuh Dashboard Service
First, we must haltStop the service to ensure no active processeswrites areoccur attemptingduring to write to the index.cleanup.
sudo systemctl stop wazuh-dashboard
Step② 2: ClearRemove the Stuckstuck IndexKibana index
This command removesdeletes the "half-finished"partially migrated UI index that is causingcauses the migration lock.loop.
⚠️ Impact
- Saved dashboards and visualizations may be reset
- Wazuh alerts and event data are
Note:notThisremoved
Option butA preserves— yourSimple security(placeholder alert data.password)
curl -k -u admin:'3z+Sw?zNjtTCgbvu*UBizozk4HtSkec6'<PASSWORD>' -X DELETE "https://localhost:9200/.kibana*"
Option B
—
Step(secure 3:password Start the Dashboard and WAIT
Restart the service to begin the fresh index recreation process.
sudoread systemctl-s start-p wazuh-dashboard"Password: " WAZUH_PASS; echo
curl -k -u "admin:${WAZUH_PASS}" -X DELETE "https://localhost:9200/.kibana*"
unset WAZUH_PASS⚠️ The "5-Minute Rule"
Do not refresh your browser for at least 5 minutes.
The dashboard must rebuild dozens of internal visualizations and patterns. If you refresh the page or interrupt the service during this window, the migration lock will return, and you will have to restart from Step 1.