> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/wazuh/wazuh-dashboard-plugins/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugin Settings

> Configure Wazuh Dashboard plugin settings and parameters

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:

```bash theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
opensearch.requestHeadersAllowlist: ['securitytenant', 'Authorization']
```

### Default Route

**Setting:** `uiSettings.overrides.defaultRoute`

**Type:** String

**Description:** The default landing page when accessing the Dashboard.

**Example:**

```yml theme={null}
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:**

```yml theme={null}
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:**

```yml theme={null}
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

## Related Topics

* [Authentication Setup](/configuration/authentication)
* [Single Sign-On Configuration](/configuration/single-sign-on)
* [Custom Branding](/configuration/custom-branding)
* [Health Check System](/configuration/health-check)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.