opensearch_dashboards.yml file or the Dashboard management interface.
Configuration Methods
OpenSearch Dashboards Configuration File
Settings can be configured in theopensearch_dashboards.yml file located in the OpenSearch Dashboards configuration directory. After modifying this file, restart the Wazuh Dashboard service for changes to take effect:
Dashboard Management Interface
Some settings can be configured through the Dashboard management UI:- Navigate to Dashboard management > App Settings
- Modify the desired settings
- 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:
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:
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:
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:
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:
SSL/TLS Configuration
Setting:server.ssl.enabled
Type: Boolean
Default: false
Description: Enable HTTPS for the Dashboard server.
Example:
OpenSearch Connection
Setting:opensearch.hosts
Type: Array of URLs
Description: The OpenSearch instances to connect to.
Example:
Request Headers
Setting:opensearch.requestHeadersAllowlist
Type: Array of strings
Description: Headers to pass from the Dashboard to OpenSearch (OpenSearch Dashboards 2.0+).
Example:
Default Route
Setting:uiSettings.overrides.defaultRoute
Type: String
Description: The default landing page when accessing the Dashboard.
Example:
Security Settings
Multitenancy
Setting:opensearch_security.multitenancy.enabled
Type: Boolean
Default: false
Description: Enable or disable OpenSearch Security multitenancy.
Example:
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:
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
- Backup Configuration: Always create a backup of
opensearch_dashboards.ymlbefore making changes - Test Changes: Verify configuration changes in a test environment before applying to production
- Monitor Logs: Check Dashboard logs after configuration changes to identify any issues
- Secure Credentials: Use appropriate file permissions to protect sensitive configuration data
- Document Changes: Maintain documentation of custom configuration settings for future reference
Troubleshooting
If the Dashboard fails to start after configuration changes:- Check the Dashboard logs for error messages
- Verify YAML syntax is correct (proper indentation, no tabs)
- Ensure file paths are absolute and accessible
- Validate that credential values are correct
- Restore from backup if necessary