Dashboard Server Management shows Worker nodes Offline after upgrading from 4.10.3 to 4.14.5 (POST /api/check-api returns HTTP 500 / Error 1000 Unexpected error)

24 views
Skip to first unread message

Sadequzzaman Shohan

unread,
Jun 26, 2026, 8:02:55 AM (2 days ago) Jun 26
to Wazuh | Mailing List
Environment

Component
Version

Wazuh Dashboard
4.14.5
Wazuh Manager
4.14.5
Wazuh Indexer
4.14.5
OpenSearch
Bundled with Wazuh 4.14.5
OS
Ubuntu 22.04 LTS
Deployment
3 Managers (1 Master + 2 Workers), 3 Indexers, 1 Dashboard

Upgrade path
4.10.3

4.14.5

Upgrade performed in-place using apt packages.


Cluster topology
Dashboard


Master Manager│
┌────┴────┐
│ │
Worker-1 Worker-2

Indexer Cluster
3 nodes
Cluster Health: GREEN

Problem

After upgrading to 4.14.5, Server Management shows:

Master Online
Worker-1 Offline
Worker-2 Offline

Dashboard displays:

Error checking manager connection

1000 - Unexpected error

Workers are actually healthy and clustered correctly.


Browser

Developer Tools:

POST /api/check-api

HTTP 500

Sometimes HTTP 503

Dashboard log
POST /api/check-api 500

Internal Server Error

No useful exception is logged.


Investigation performed

Verified:

✅ Wazuh Manager cluster healthy

cluster status
green

Verified:

/cluster/nodes

returns all three nodes correctly.


Verified:

/manager/info

works on

  • Master
  • Worker-1
  • Worker-2

Verified:

API Authentication

POST
/security/user/authenticate?raw=true

returns valid JWT token.


Verified:

Dashboard reaches every API.

returns

401 Unauthorized

when no token supplied.

Expected behavior.


Verified:

Dashboard service

systemctl status wazuh-dashboard

healthy.


Verified:

Indexer cluster

green

Verified:

OpenSearch connectivity

Working.


Verified:

TLS certificates

Working.


Source code investigation

Inspected

plugins/wazuh/server/routes/wazuh-api.js

The route

POST /api/check-api

calls

ctrl.checkAPI(...)

Inspected

controllers/wazuh-api.js

Function

checkAPI()

Execution reaches

const responseManagerInfo =
await apiReq.get("/manager/info");

const uuid =
responseManagerInfo.data.data.affected_items[0].uuid;

const result =
await context.wazuh_core.manageHosts.getRegistryDataByHost(data);

/manager/info succeeds.

The HTTP 500 appears after calling

context.wazuh_core.manageHosts.getRegistryDataByHost(data)

suggesting an exception occurs in dashboard host registry processing.


Expected behavior

All three managers should display

Online

Actual behavior
Master Online

Worker-1 Offline

Worker-2 Offline

Although

  • API works
  • Cluster works
  • Dashboard reaches managers

Questions
  1. Is this a known migration issue from 4.10.x to 4.14.x?
  2. Can manageHosts.getRegistryDataByHost() fail because of old dashboard registry data?
  3. Is there a supported way to rebuild only the Dashboard host registry?

Carlos Anguita López

unread,
Jun 26, 2026, 11:51:04 AM (2 days ago) Jun 26
to Wazuh | Mailing List
Hello, we are on the process of reviewing this issue. I will reply again when I have more information about the case. Thank you.
Reply all
Reply to author
Forward
0 new messages