Getting wazuh timeout error

144 views
Skip to first unread message

Anmol Moudgil

unread,
Nov 13, 2025, 1:00:05 AM11/13/25
to Wazuh | Mailing List
Hi Team,

I have wazuh docker setup v4.10.0, I have RBAC enabled using this article. But if I add too many RBAC users I start getting wazuh timeout error.

Is there any recommended number of RBAC users/accounts that I can create? Or is there a way to increase the time for this timeout from 20000ms to (say) 100000ms?

Would really appreciate any help.

Thanks,
Anmol Moudgil

hariha...@wazuh.com

unread,
Nov 13, 2025, 5:08:40 AM11/13/25
to Wazuh | Mailing List
Hi Anmol Moudgil,

There’s no hard-coded cap on RBAC users in Wazuh, but very large numbers of internal users/role mappings (hundreds → thousands) can slow certain synchronous API calls the Dashboard relies on (user listing, role/role-mapping checks, CDB/whitelist lookups, etc.). When those calls exceed the Dashboard’s request timeout, you see the “Timeout of 20000ms exceeded” error.

You can solve this in two complementary ways: (1) increase the Dashboard request timeout (quick and reversible), and (2) reduce the load/latency that causes the timeout (longer-term).

Why this happens
The Dashboard makes synchronous calls to the Wazuh API and the indexer. Large internal lists or a slow backend cause those calls to take longer than the Dashboard’s configured timeout, triggering the 20000ms error.

  1. Increase the Dashboard request timeout. Edit the dashboard config file (packaged path shown below) and set timeout: 100000 (milliseconds):

# /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
hosts:
  - env-1:
      url: https://env-1.example
      port: 55000
      username: wazuh-wui
      password: wazuh-wui
      run_as: true

timeout: 100000

If you run the dashboard in Docker, persist this file outside the container and bind-mount it:

mkdir -p ~/wazuh-dashboard-config
# create/edit ~/wazuh-dashboard-config/wazuh.yml (put the config above)
chmod 644 ~/wazuh-dashboard-config/wazuh.yml

Add the mount (example docker-compose snippet — match your actual service name):

services:
  wazuh-dashboard:
    image: wazuh/wazuh-dashboard:4.10.0
    volumes:
      - ./wazuh-dashboard-config/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml:ro

Recreate the container:

docker compose up -d --force-recreate wazuh.dashboard

Notes:

  • Use :ro to avoid accidental in-container writes (remove if you intentionally want container writes).

  • Keep the file readable (e.g., chmod 644).


Regards,
Harihar Singh
Wazuh Inc.

Anmol Moudgil

unread,
Nov 19, 2025, 11:50:28 PM11/19/25
to Wazuh | Mailing List
Hello Harihar,

Thanks for the prompt response. I tried the change that you suggested and added `timeout: 100000` to my wazuh.yml I can confirm these changes got loaded as I see it updated on the ui under Dashboard Management > App Settings > Request Timeout, but still sometimes I see this error timeout of 20000ms exceeded. Do I also need to update it elsewhere?

Regards,
Anmol

Reply all
Reply to author
Forward
0 new messages