Overview
Wazuh 5.x introduces significant changes to the dashboard plugins architecture and configuration:- Platform upgrade: Migration from Kibana/OpenSearch Dashboards 2.x to OpenSearch Dashboards 3.x
- Configuration changes: Settings relocated from
wazuh.ymltoopensearch_dashboards.yml - Plugin restructure: Core functionality split into modular plugins (
wazuh-core,wazuh-check-updates) - Index pattern updates: New default pattern
wazuh-events*replacingwazuh-alerts-* - UI modernization: Removal of legacy interfaces and deprecated features
- Security enhancements: Updated authentication and authorization mechanisms
Compatibility Matrix
Pre-Migration Preparation
Review System Requirements
Verify your system meets 5.x requirements:- OS: Supported Linux distribution
- Hardware: Minimum 4 GB RAM, 8 GB recommended
- Network: Connectivity to upgraded indexer and manager
- Certificates: Valid TLS certificates compatible with OpenSearch 3.x
Back Up Critical Data
Before starting the migration:Back up saved objects
- Navigate to ☰ Menu > Dashboard Management > Saved objects
- Click Export all
- Save the exported
.ndjsonfile to a safe location - Alternatively, use the API:
Back up configuration files
Back up certificates
Document custom settings
Review Breaking Changes
Review the CHANGELOG and note:- Deprecated settings that must be removed
- Renamed configuration keys
- Removed features you may be using
- New required configurations
Breaking Changes in 5.x
Configuration File Changes
wazuh.yml deprecated
The standalonewazuh.yml configuration file is removed in 5.x. All plugin settings have been moved to:
opensearch_dashboards.yml- Core settings- Advanced Settings UI - Tenant-level preferences
/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml):
/etc/wazuh-dashboard/opensearch_dashboards.yml):
- Navigate to ☰ Menu > Dashboard Management > Advanced Settings
- Configure tenant-level settings:
timeout: 20000- Other UI preferences
Index Pattern Changes
Removed Settings
- Custom branding: Use
opensearchDashboards.branding.* - Monitoring: Configured via index lifecycle management
- Admin mode: Replaced by role-based access control
Plugin Architecture Changes
New Plugin Structure
Impact: Plugin dependencies are automatically managed. No manual action required.
API Changes
If you have custom scripts or integrations:UI Changes
Removed Features
- Legacy App Settings: Use ☰ Menu > Dashboard Management > Advanced Settings or
opensearch_dashboards.yml - Dev Tools integration: Use native OpenSearch Dashboards Dev Tools
- Deprecated modules: Some 4.x experimental modules removed
Renamed Navigation Paths
Migration Steps
Step 1: Upgrade Stack Components in Order
Follow this sequence to avoid compatibility issues:1.1 Upgrade Wazuh indexer (first)
1.2 Upgrade Wazuh manager (second)
1.3 Upgrade Wazuh dashboard (last)
Step 2: Migrate Configuration
2.1 Update opensearch_dashboards.yml
Edit/etc/wazuh-dashboard/opensearch_dashboards.yml:
- Update server settings (if customized):
- Update indexer connection:
- Add Wazuh API configuration (migrated from wazuh.yml):
- Set default route:
- Remove deprecated settings (if present):
customization.*wazuh.monitoring.*admin
2.2 Update Certificate Paths
Verify certificate paths inopensearch_dashboards.yml:
2.3 Apply Custom Branding
Migratecustomization.* settings to OpenSearch Dashboards branding:
4.x custom branding:
Step 3: Update File Permissions
Step 4: Start and Verify Dashboard
Step 5: Import Saved Objects
- Log in to the dashboard at
https://your-dashboard-ip/ - Navigate to ☰ Menu > Dashboard Management > Saved objects
- Click Import
- Select your backed-up
.ndjsonfile - Handle conflicts:
- Check for existing objects: Recommended for most cases
- Automatically overwrite: Use with caution
- Click Import
Post-Migration Validation
Verify Dashboard Functionality
✅ Check list:- Dashboard loads at
/app/wz-home - Wazuh logo and branding appear correctly
- Navigation menu displays all modules
- Agents list loads successfully
- Events are displayed in Threat Hunting
Run Health Check
- Navigate to ☰ Menu > Management > Health Check
- Click Check
- Verify all checks pass:
- ✅ API connection
- ✅ Indexer connection
- ✅ Plugin status
- ✅ Index patterns
- ✅ Template verification
Validate API Connections
Test Wazuh manager API connectivity:Verify Index Patterns
Navigate to ☰ Menu > Dashboard Management > Index patterns:- Default pattern
wazuh-events*exists - Time field is
timestamp - Field mappings are loaded
Troubleshooting Common Migration Issues
Issue 1: Dashboard Fails to Start
Symptoms:- Verify indexer is running:
- Check certificate paths:
- Test indexer connectivity:
- Review logs:
Issue 2: API Connection Errors
Symptoms:- Verify API configuration in
opensearch_dashboards.yml:
- Test API manually:
- Check manager firewall:
Issue 3: Missing Saved Objects
Symptoms: Dashboards or visualizations do not appear after migration. Solutions:-
Re-import saved objects:
- Go to Dashboard Management > Saved objects > Import
- Select backed-up
.ndjsonfile - Choose Automatically overwrite conflicts
- Manually create index pattern if missing:
- Regenerate default objects:
- Navigate to Management > Health Check
- Click Check to recreate missing templates and patterns
Issue 4: Performance Degradation
Symptoms: Dashboard is slow or unresponsive after migration. Solutions:- Clear browser cache and cookies
- Optimize OpenSearch indices:
- Review resource allocation:
- Tune dashboard settings in
opensearch_dashboards.yml:
Rollback Procedure
If migration fails and you need to rollback:1. Stop 5.x Dashboard
2. Downgrade Package
3. Restore Configuration
4. Rollback Stack Components
Follow the same procedure for indexer and manager (in reverse order).5. Restart Services
Additional Resources
- Official migration guide: https://documentation.wazuh.com/current/upgrade-guide/index.html
- Community forum: https://groups.google.com/g/wazuh
- GitHub issues: https://github.com/wazuh/wazuh-dashboard-plugins/issues
- Official documentation: https://documentation.wazuh.com/