Skip to main content
The Wazuh Dashboard plugins provide various configuration options to customize behavior, performance, and integration settings. These settings can be configured through the opensearch_dashboards.yml file or the Dashboard management interface.

Configuration Methods

OpenSearch Dashboards Configuration File

Settings can be configured in the opensearch_dashboards.yml file located in the OpenSearch Dashboards configuration directory. After modifying this file, restart the Wazuh Dashboard service for changes to take effect:
systemctl restart wazuh-dashboard

Dashboard Management Interface

Some settings can be configured through the Dashboard management UI:
  1. Navigate to Dashboard management > App Settings
  2. Modify the desired settings
  3. Apply the changes

General Settings

Enrollment DNS

Setting: enrollment.dns Type: Text Default: Empty string Description: Specifies the Wazuh registration server used for agent enrollment. This value should be a valid hostname, FQDN, IPv4, or IPv6 address. Example:
enrollment.dns: wazuh.example.com

Request Timeout

Setting: timeout Type: Number (milliseconds) Default: 20000 Minimum: 1500 Description: Maximum time the application will wait for a Wazuh API response when making requests. Values below 1500 milliseconds will be ignored. Example:
timeout: 30000

Check Updates

Setting: wazuh.updates.disabled Type: Boolean Default: false Description: Controls whether the check updates service is enabled. Set to true to disable automatic update checks. Example:
wazuh.updates.disabled: true

Maximum Rows in CSV Reports

Setting: reports.csv.maxRows Type: Number Default: 10000 Minimum: 0 Description: Maximum number of rows included in CSV reports. If the number of rows exceeds this value, the report will be truncated. Setting a high value may cause instability in the report generation process. Example:
reports.csv.maxRows: 50000

Platform Settings

Server Configuration

Setting: server.host Type: IP Address Default: 0.0.0.0 Description: The host address the Dashboard server binds to. Example:
server.host: 0.0.0.0
server.port: 5601

SSL/TLS Configuration

Setting: server.ssl.enabled Type: Boolean Default: false Description: Enable HTTPS for the Dashboard server. Example:
server.ssl.enabled: true
server.ssl.key: /path/to/server.key
server.ssl.certificate: /path/to/server.pem

OpenSearch Connection

Setting: opensearch.hosts Type: Array of URLs Description: The OpenSearch instances to connect to. Example:
opensearch.hosts: https://localhost:9200
opensearch.username: 'kibanaserver'
opensearch.password: 'kibanaserver'
opensearch.ssl.verificationMode: certificate
opensearch.ssl.certificateAuthorities: ['/path/to/root-ca.pem']

Request Headers

Setting: opensearch.requestHeadersAllowlist Type: Array of strings Description: Headers to pass from the Dashboard to OpenSearch (OpenSearch Dashboards 2.0+). Example:
opensearch.requestHeadersAllowlist: ['securitytenant', 'Authorization']

Default Route

Setting: uiSettings.overrides.defaultRoute Type: String Description: The default landing page when accessing the Dashboard. Example:
uiSettings.overrides.defaultRoute: /app/wz-home

Security Settings

Multitenancy

Setting: opensearch_security.multitenancy.enabled Type: Boolean Default: false Description: Enable or disable OpenSearch Security multitenancy. Example:
opensearch_security.multitenancy.enabled: false

Read-Only Mode Roles

Setting: opensearch_security.readonly_mode.roles Type: Array of strings Description: Roles that should have read-only access to the Dashboard. Example:
opensearch_security.readonly_mode.roles: ['kibana_read_only']

Configuration Categories

Settings are organized into the following categories:

General

Common configuration options that affect overall plugin behavior, including timeouts, enrollment settings, and report generation.

Health Check

Settings related to the health check system that ensures required components and configurations are properly initialized.

Security

Authentication, authorization, and security-related configuration options.

Customization

Branding, logos, and visual customization settings.

API Connection

Wazuh Server API connection configuration, including hosts, credentials, and authentication modes.

Configuration Validation

The plugin validates configuration values to ensure they meet the required format and constraints. Invalid configurations will be rejected with descriptive error messages. Common validation rules include:
  • String length constraints (minimum and maximum characters)
  • Numeric ranges (minimum and maximum values)
  • Format validation (URLs, IP addresses, hostnames)
  • Boolean values
  • Required fields

Best Practices

  1. Backup Configuration: Always create a backup of opensearch_dashboards.yml before making changes
  2. Test Changes: Verify configuration changes in a test environment before applying to production
  3. Monitor Logs: Check Dashboard logs after configuration changes to identify any issues
  4. Secure Credentials: Use appropriate file permissions to protect sensitive configuration data
  5. Document Changes: Maintain documentation of custom configuration settings for future reference

Troubleshooting

If the Dashboard fails to start after configuration changes:
  1. Check the Dashboard logs for error messages
  2. Verify YAML syntax is correct (proper indentation, no tabs)
  3. Ensure file paths are absolute and accessible
  4. Validate that credential values are correct
  5. Restore from backup if necessary

Build docs developers (and LLMs) love