As organizations expand their security monitoring capabilities, the amount of data generated by Wazuh grows rapidly.
Every authentication attempt, endpoint event, file integrity change, vulnerability scan, cloud audit log, and network alert contributes to an ever-increasing volume of security data.
Poor storage management often results in full disks, degraded search performance, slow dashboard responses, failed indexing operations, and even data loss if clusters reach critical disk watermarks.
Growing Wazuh deployments commonly encounter several storage-related problems, including:
- Rapid index growth caused by millions of daily events
- Excessive File Integrity Monitoring (FIM) data
- Long retention periods without automated cleanup
- Oversized OpenSearch indexes
- High storage consumption from cloud-native environments
- Duplicate log ingestion from multiple sources
- Inefficient shard allocation
Fortunately, these issues are largely preventable through proper planning and lifecycle management. By implementing storage best practices, organizations can:
- Reduce infrastructure costs
- Improve OpenSearch performance
- Increase query speed
- Prevent disk-related outages
- Simplify long-term compliance
- Scale to tens or hundreds of thousands of monitored endpoints
According to the OpenSearch Project, effective index lifecycle management, shard optimization, and snapshot strategies are among the most important practices for maintaining healthy clusters as data volumes increase.
This guide provides a complete overview of Wazuh storage management.
You’ll learn how Wazuh stores security data, why storage usage grows so quickly, how to estimate future storage requirements, and how to implement retention, optimization, archiving, monitoring, and automation strategies that keep your deployment healthy over the long term.
Where appropriate, this guide also references related topics such as How to Configure Wazuh Log Retention, How to Configure Wazuh Index State Management (ISM), How to Build a Wazuh Indexer Cluster, and How to Design a Wazuh OpenSearch Shard Allocation Strategy for more in-depth implementation guidance.
Understanding How Wazuh Stores Data
Understanding storage management begins with understanding where Wazuh actually stores information.
Unlike traditional log management platforms that rely on a single database, Wazuh distributes data across several components, each serving a different purpose.
These components include the Wazuh Manager, Wazuh Indexer, and Wazuh Dashboard.
Wazuh Manager Data
The Wazuh Manager acts as the central processing engine.
It receives events from agents, applies decoders and rules, executes active responses, and forwards processed alerts to the indexer.
Several types of data are stored locally on the manager.
Alerts
Processed security alerts are written locally before being forwarded to the indexer.
These alerts include:
- Authentication failures
- Malware detections
- Privilege escalation attempts
- Policy violations
- Threat intelligence matches
- Custom rule alerts
Although most organizations primarily search alerts through the Wazuh Dashboard, the manager still maintains local alert files that consume disk space.
Archives
If archive logging is enabled, Wazuh stores raw incoming events before they are decoded.
Archive logs are extremely useful for:
- Rule development
- Decoder testing
- Compliance investigations
- Security forensics
- Historical event reconstruction
However, archive logs often consume significantly more storage than processed alerts because they contain every collected event.
Agent Data
Each enrolled endpoint maintains metadata that the manager stores, including:
- Agent identifiers
- Registration information
- Connection status
- Group membership
- Keys
- Synchronization data
Individually these files are small, but in deployments containing tens of thousands of agents they become more significant.
Logs
The manager continuously generates operational logs, including:
- Analysis logs
- Cluster logs
- API logs
- Authentication logs
- Module logs
- Upgrade logs
Administrators often overlook these files until they occupy several gigabytes over time.
Configuration Files
Critical configuration files are also stored on the manager, including:
ossec.confclient.keys- Rules
- Decoders
- Agent groups
- Internal configuration files
Although these consume minimal storage, they represent some of the most important data to protect through regular backups.
For backup guidance, see How to Backup Wazuh Manager Configuration.
Wazuh Indexer Storage
The Wazuh Indexer, built on OpenSearch, is responsible for storing, indexing, and searching security events.
In most deployments, this component consumes by far the largest amount of storage.
OpenSearch Indexes
Every processed alert is indexed into OpenSearch, where it becomes searchable through the Wazuh Dashboard.
Indexes typically contain:
- Alert documents
- Event metadata
- Parsed fields
- Timestamps
- Agent information
- Rule matches
Depending on ingestion rates, new indexes may be created daily or according to rollover policies.
Primary and Replica Shards
Each OpenSearch index is divided into primary shards, which store the original data, and replica shards, which provide redundancy and improve search performance.
While replicas enhance resilience, they also increase storage consumption. For example, a single replica effectively doubles the storage required for indexed data.
Designing an efficient shard strategy is one of the most important aspects of long-term storage planning.
See How to Design a Wazuh OpenSearch Shard Allocation Strategy for a detailed guide.
Index Templates
Index templates define how new indexes are created, including:
- Field mappings
- Data types
- Shard counts
- Replica counts
- Index settings
Properly configured templates improve indexing efficiency and prevent unnecessary storage overhead caused by mapping conflicts or inefficient shard layouts.
Snapshots
Snapshots provide point-in-time backups of indexes before they are deleted or migrated to lower-cost storage.
Rather than keeping years of searchable indexes online, many organizations retain only recent data in OpenSearch while archiving older indexes as snapshots.
The OpenSearch documentation recommends snapshots as the preferred backup mechanism instead of filesystem-level backups.
Wazuh Dashboard Data
The Wazuh Dashboard itself stores relatively little information compared to the indexer.
Instead, it stores user-created objects that improve data visualization and investigation.
Saved Searches
Saved searches preserve commonly used queries for analysts, allowing rapid investigation of recurring incidents.
These objects require very little storage.
Visualizations
Charts, graphs, tables, and other visualization objects are stored within the dashboard configuration.
These help analysts interpret large security datasets without significantly affecting storage requirements.
Dashboards
Dashboards combine multiple visualizations into customizable monitoring views.
While dashboard objects occupy minimal disk space, organizations often maintain dozens or hundreds of dashboards for different security teams and business units.
Why Wazuh Storage Grows So Quickly
One of the biggest surprises for new Wazuh administrators is how quickly storage requirements increase after deployment.
A small proof-of-concept environment may generate only a few gigabytes per day, while an enterprise deployment can easily produce hundreds of gigabytes, or even several terabytes, of new data every week.
Understanding the primary drivers of storage growth helps administrators build effective retention and optimization strategies before storage becomes a bottleneck.
High Event Volumes
Every monitored endpoint continuously generates security events.
These include:
- Authentication attempts
- Process executions
- File modifications
- Network connections
- Package installations
- Scheduled tasks
- System service changes
As monitoring expands, event volumes increase proportionally.
Even relatively quiet endpoints can produce thousands of events every day.
Large Numbers of Endpoints
Storage growth scales almost linearly with the number of monitored systems.
For example:
- 100 endpoints generate far less data than 10,000 endpoints.
- Additional servers often produce substantially more events than workstations.
- Domain controllers, firewalls, and SIEM-integrated appliances typically generate the highest event volumes.
Capacity planning should always account for future endpoint growth rather than only current deployment size.
File Integrity Monitoring (FIM)
File Integrity Monitoring records file creations, deletions, permission changes, ownership modifications, and content changes.
While FIM is invaluable for detecting ransomware, unauthorized changes, and compliance violations, aggressive monitoring can dramatically increase storage usage.
Monitoring entire filesystems instead of critical directories frequently results in millions of additional events.
Organizations should carefully scope FIM policies to focus on high-value assets.
For optimization techniques, see How to Stop Wazuh File Integrity Monitoring (FIM) From Eating Your CPU.
Vulnerability Detection
The Vulnerability Detection module regularly inventories installed software and compares it against vulnerability feeds.
Large environments may generate significant volumes of vulnerability data after each scan, especially when software inventories change frequently.
Historical vulnerability information also contributes to long-term storage growth.
Security Configuration Assessment (SCA)
SCA periodically evaluates endpoint configurations against security benchmarks such as CIS recommendations.
Each assessment records detailed compliance results, which accumulate over repeated scans.
Reducing scan frequency where appropriate can help balance compliance visibility with storage consumption.
Cloud and Container Logs
Modern cloud-native environments often produce significantly more telemetry than traditional infrastructure.
Examples include:
- AWS CloudTrail
- Azure activity logs
- Google Cloud logs
- Kubernetes audit logs
- Container runtime logs
- Application logs
Highly dynamic environments with autoscaling workloads can multiply event volumes within hours.
Organizations integrating multiple cloud platforms should carefully filter unnecessary events before ingestion.
For related guidance, see How to Monitor AWS CloudTrail Logs Using Wazuh and How to Monitor Kubernetes Using Wazuh.
Long Retention Periods
Keeping every event searchable for months or years is one of the fastest ways to exhaust storage.
Many compliance frameworks require long-term retention, but they rarely require all historical data to remain on high-performance storage.
A more efficient strategy is to:
- Keep recent data searchable.
- Archive older indexes using snapshots.
- Delete expired indexes automatically.
- Restore snapshots only when historical investigations are required.
Implementing Index State Management (ISM) policies greatly simplifies this lifecycle.
See How to Configure Wazuh Index State Management (ISM).
Duplicate or Unnecessary Log Collection
Many environments accidentally ingest identical events multiple times.
Common causes include:
- Multiple log forwarders collecting the same files
- Duplicate syslog forwarding
- Overlapping Filebeat configurations
- Excessively broad log collection rules
- Redundant cloud integrations
Security engineers from Elastic have long emphasized that filtering unnecessary data before indexing is one of the most effective ways to reduce storage costs while improving search performance.
Regular audits of log collection policies help ensure that only valuable security events consume storage resources.
Factors That Affect Wazuh Storage Requirements
No two Wazuh environments consume storage at the same rate.
A deployment monitoring 500 workstations with basic log collection may only require a few hundred gigabytes of storage, while an enterprise deployment monitoring 50,000 endpoints, cloud workloads, and container platforms can consume multiple terabytes each month.
Understanding the variables that influence storage growth allows administrators to accurately size infrastructure, avoid unexpected disk shortages, and reduce unnecessary costs.
Number of Monitored Endpoints
The number of enrolled agents is one of the most significant factors affecting storage consumption.
Every endpoint continuously generates security events such as:
- Authentication logs
- System events
- Process executions
- File modifications
- Security alerts
- Software inventory updates
As the number of monitored systems increases, storage requirements generally scale proportionally.
However, not all endpoints produce the same volume of data. For example:
| Endpoint Type | Typical Data Volume |
|---|---|
| Windows workstation | Moderate |
| Linux server | Moderate to High |
| Domain controller | Very High |
| Database server | High |
| Web server | High |
| Firewall | Very High |
| Kubernetes node | Extremely High |
Organizations should estimate storage based on endpoint types rather than agent count alone.
Log Ingestion Rate
The number of events indexed every second has a direct impact on storage growth.
Typical ingestion sources include:
- Windows Event Logs
- Linux Syslog
- Apache and Nginx logs
- Authentication events
- CloudTrail logs
- Kubernetes audit logs
- Firewall logs
- IDS alerts
For example:
- 500 events per second (EPS)
- 5,000 EPS
- 20,000 EPS
- 100,000+ EPS
Even small increases in EPS can significantly increase monthly storage consumption.
Monitoring ingestion rates helps identify unexpected spikes caused by misconfigured agents or noisy applications.
Log Size
Not every event consumes the same amount of storage.
A simple authentication event may only require a few hundred bytes, while a detailed JSON event containing cloud metadata may consume several kilobytes before indexing.
Common contributors to larger log sizes include:
- Nested JSON fields
- Long command lines
- Process trees
- Kubernetes metadata
- Cloud resource attributes
- Stack traces
- Large audit records
Although OpenSearch compresses indexed data, larger documents still consume more disk space than simpler events.
Retention Period
Retention policies determine how long indexed data remains searchable.
Longer retention directly increases storage requirements.
For example:
| Retention Period | Relative Storage |
|---|---|
| 30 days | Low |
| 90 days | Moderate |
| 180 days | High |
| 365 days | Very High |
Many organizations retain:
- 30–90 days of searchable indexes
- 1–7 years of archived snapshots
This approach balances operational performance with regulatory compliance.
For detailed retention guidance, see How to Configure Wazuh Log Retention.
Replica Count
Replica shards improve high availability and search performance but also increase storage usage.
For example:
| Replica Count | Approximate Storage |
|---|---|
| 0 replicas | 100% |
| 1 replica | 200% |
| 2 replicas | 300% |
A cluster storing 2 TB of primary data with one replica requires approximately 4 TB of usable disk space before accounting for overhead.
Replica settings should align with business continuity requirements rather than being increased unnecessarily.
Compression
OpenSearch automatically compresses indexed data, reducing disk usage compared to raw logs.
Compression efficiency depends on:
- Field mappings
- Document structure
- Similarity between events
- Index settings
Structured logs with repetitive fields typically compress more effectively than highly variable data.
Compression reduces storage costs but should not replace proper retention and lifecycle management.
Index Rollover Frequency
Indexes that grow too large become slower to search and recover.
Indexes that roll over too frequently create excessive shard counts.
Finding the right balance is essential.
Common rollover criteria include:
- Maximum index size
- Maximum document count
- Maximum index age
Index State Management (ISM) automates this process.
See How to Configure Wazuh Index State Management (ISM).
Enabled Wazuh Modules
Each enabled Wazuh module contributes additional data.
Examples include:
- File Integrity Monitoring (FIM)
- Vulnerability Detection
- Security Configuration Assessment (SCA)
- Active Response
- Cloud integrations
- Threat intelligence
- Docker monitoring
- Kubernetes monitoring
Organizations should periodically review enabled modules to ensure each provides operational value relative to its storage cost.
Estimating Wazuh Storage Requirements
Accurately estimating storage requirements before deployment helps prevent capacity shortages, unexpected infrastructure expenses, and emergency storage expansions.
Although exact usage varies between environments, a structured estimation process provides a reliable starting point.
Daily Log Volume Estimation
The first step is estimating how much data is generated each day.
A simple formula is:
Daily Storage = Events per Day × Average Event Size
For example:
- 40 million events/day
- Average event size: 1.2 KB
Daily raw data:
40,000,000 × 1.2 KB
≈ 48 GB/dayBecause indexed data differs from raw logs due to indexing overhead and compression, administrators should validate these estimates using actual production metrics whenever possible.
Monthly Storage Calculations
Monthly storage can be estimated by multiplying daily usage by the desired retention period.
Example:
| Daily Storage | Retention | Total |
|---|---|---|
| 50 GB/day | 30 days | 1.5 TB |
| 100 GB/day | 90 days | 9 TB |
| 200 GB/day | 180 days | 36 TB |
This represents primary data only.
Replica storage must be added separately.
Accounting for Replicas
Replica shards duplicate indexed data to improve resiliency.
For example:
Primary indexed data:
6 TBWith one replica:
6 TB primary
+6 TB replica
--------------
12 TB totalWith two replicas:
18 TB totalStorage planning should also reserve additional free space to avoid OpenSearch disk watermark thresholds.
The OpenSearch Project recommends maintaining sufficient free disk capacity so allocation and recovery operations can continue without triggering read-only indexes.
Planning for Future Growth
Storage planning should extend beyond current requirements.
Questions to consider include:
- Will additional business units be onboarded?
- Are more cloud services being monitored?
- Will endpoint counts double within two years?
- Will compliance require longer retention?
- Are additional Wazuh modules planned?
Many organizations plan for 20–30% annual growth to avoid frequent infrastructure upgrades.
Monitoring historical storage trends also helps predict future capacity needs.
Example Storage Sizing Calculation
Consider an organization with:
- 8,000 monitored endpoints
- 65 GB of indexed data generated per day
- 90-day searchable retention
- One replica
- 20% reserved free capacity
1: Calculate primary storage.
65 GB × 90
= 5,850 GB
≈ 5.85 TB2: Add one replica.
5.85 TB × 2
= 11.7 TB3: Reserve 20% free space.
11.7 TB × 1.20
≈ 14 TBThe organization should therefore provision approximately 14 TB of usable storage for its searchable indexes, while planning separate storage for snapshots and long-term archives.
Best Practices for Managing Wazuh Storage
Managing Wazuh storage effectively requires more than simply adding larger disks.
A well-designed storage strategy balances performance, cost, availability, and compliance by controlling how data is stored throughout its lifecycle.
The following best practices help maintain healthy Wazuh deployments as data volumes grow.
Configure Index State Management (ISM)
Index State Management (ISM) automates the lifecycle of OpenSearch indexes.
Policies can automatically:
- Roll over indexes
- Transition indexes between storage tiers
- Create snapshots
- Delete expired indexes
Automating these tasks eliminates much of the manual effort involved in managing large environments.
See How to Configure Wazuh Index State Management (ISM).
Implement Index Rollover Policies
Rather than allowing indexes to grow indefinitely, configure rollover policies based on:
- Maximum index size
- Maximum document count
- Maximum age
Smaller, consistently sized indexes improve:
- Search performance
- Recovery speed
- Cluster stability
- Shard balancing
The OpenSearch documentation recommends avoiding excessively large shards because they increase recovery times and reduce cluster flexibility.
Delete Expired Indexes Automatically
Keeping obsolete indexes online wastes storage and increases cluster overhead.
Instead of relying on manual cleanup:
- Define retention periods.
- Automatically delete expired indexes.
- Archive important data before deletion if required.
Automated deletion ensures storage remains predictable and prevents disks from filling unexpectedly.
Use Snapshots for Long-Term Retention
Snapshots provide a cost-effective method for preserving historical data.
Instead of maintaining years of searchable indexes:
- Keep recent data online.
- Snapshot older indexes.
- Store snapshots in object storage or other backup repositories.
- Restore snapshots only when historical investigations are necessary.
This approach significantly reduces storage costs while maintaining compliance.
Compress Indexes Where Appropriate
OpenSearch automatically compresses stored data, but administrators should also:
- Remove unnecessary fields
- Avoid oversized documents
- Eliminate duplicate metadata
- Use efficient mappings
Reducing document size lowers disk usage and improves indexing performance.
Reduce Unnecessary Log Collection
One of the easiest ways to reduce storage consumption is collecting fewer unnecessary events.
Review log collection policies regularly to identify:
- Duplicate log sources
- Debug logs
- Verbose application logs
- Temporary diagnostic logging
- Low-value informational events
Filtering unwanted events before indexing is significantly more efficient than storing and deleting them later.
Tune File Integrity Monitoring
Improperly configured File Integrity Monitoring (FIM) can generate millions of unnecessary events.
Best practices include:
- Monitor critical directories only.
- Exclude temporary folders.
- Ignore cache directories.
- Avoid monitoring frequently changing files.
- Tune real-time monitoring appropriately.
See How to Stop Wazuh File Integrity Monitoring (FIM) From Eating Your CPU and How to Configure File Integrity Monitoring (FIM) in Wazuh.
Optimize Vulnerability Detection Data
Vulnerability Detection provides valuable security insights but also contributes to index growth.
To reduce unnecessary storage:
- Disable unused vulnerability providers.
- Remove obsolete software inventories.
- Tune scan schedules.
- Focus scanning on systems within scope.
This helps maintain useful historical data without excessive duplication.
Archive Older Logs
Not all security data requires immediate searchability.
Many organizations implement a tiered retention strategy:
- Recent data remains searchable.
- Older indexes become snapshots.
- Archived data is stored in lower-cost storage.
- Expired archives are removed according to policy.
This minimizes storage costs while preserving historical evidence when required.
Separate Hot and Warm Storage
Large deployments often benefit from multiple storage tiers.
A common architecture includes:
| Tier | Purpose |
|---|---|
| Hot | Recent indexes receiving active writes |
| Warm | Older searchable indexes |
| Cold/Archive | Snapshots and long-term retention |
Separating storage tiers improves performance while reducing the cost of retaining historical data.
For larger environments, see How to Build a Wazuh Indexer Cluster and How to Design a Wazuh OpenSearch Shard Allocation Strategy.
Monitor Storage Utilization Continuously
Storage management is an ongoing operational task rather than a one-time configuration.
Administrators should continuously monitor:
- Disk utilization
- Index growth rates
- Shard sizes
- Disk watermarks
- Snapshot status
- Index rollover activity
- Cluster health
- Available capacity
The OpenSearch Project recommends proactively monitoring disk usage and cluster health so administrators can address capacity issues before they impact indexing or search performance.
How to Reduce Wazuh Storage Consumption
Reducing storage consumption does not necessarily mean collecting less security data.
Instead, the goal is to collect the right data while eliminating duplicate, low-value, or unnecessary events.
An optimized Wazuh deployment stores actionable security information without overwhelming the indexer or consuming excessive disk space.
The following techniques can significantly reduce storage usage while maintaining strong detection coverage.
Exclude Noisy Log Sources
Some systems generate enormous volumes of logs that provide little security value.
Common examples include:
- Debug logs
- Temporary application logs
- Development environments
- Health check requests
- Routine status messages
- Verbose service logs
- Software update notifications
Rather than indexing everything, review log sources regularly and exclude data that is not useful for security monitoring or compliance.
Organizations should periodically audit newly onboarded systems because default logging configurations often enable excessive verbosity.
Filter Unnecessary Events
Not every event needs to be indexed.
Filtering events before they reach the Wazuh Indexer is one of the most effective ways to reduce storage requirements.
Examples of events that may be filtered include:
- Successful routine logins
- Informational system messages
- Expected scheduled task executions
- Routine application startup events
- Known maintenance activity
- Repetitive service status updates
Filtering should always be performed carefully to avoid removing data needed for incident response or compliance investigations.
The Wazuh documentation recommends tailoring data collection to your organization’s security objectives rather than collecting every available event.
Optimize Decoder and Rule Configurations
Poorly designed decoders and detection rules can unintentionally increase storage consumption.
For example:
- Parsing unnecessary fields
- Creating multiple alerts for a single event
- Matching overly broad patterns
- Using duplicate custom rules
Regularly review custom decoders and rules to ensure they produce only meaningful alerts.
See How to Create Custom Detection Rules in Wazuh (With Examples), How to Test Wazuh Rules, and How to Safely Overwrite Local Rule IDs Without Wazuh Conflicts.
Reduce Duplicate Alerts
Duplicate alerts waste storage and make investigations more difficult.
Common causes include:
- Multiple log forwarders ingesting identical logs
- Duplicate syslog forwarding
- Overlapping Filebeat configurations
- Multiple agents monitoring the same resource
- Duplicate custom detection rules
Review your ingestion pipeline regularly to ensure every event is indexed only once.
If duplicate alerts are already occurring, investigate your log forwarding architecture before increasing storage capacity.
Adjust Alert Levels
Not every event deserves the same level of attention.
Wazuh assigns severity levels to alerts based on matching rules.
Administrators can reduce indexed alert volume by:
- Suppressing low-value informational alerts
- Increasing thresholds for repetitive events
- Using rule frequency and timeframe options
- Prioritizing higher-risk detections
Reducing unnecessary low-severity alerts improves both storage efficiency and analyst productivity.
See How to Reduce False Positives in Wazuh.
Disable Unused Modules
Every enabled Wazuh module generates additional data.
Examples include:
- File Integrity Monitoring (FIM)
- Vulnerability Detection
- Security Configuration Assessment (SCA)
- Cloud integrations
- Threat intelligence integrations
- Docker monitoring
- Kubernetes monitoring
If a module is not actively supporting security operations, consider disabling it until it is required.
Reducing unnecessary telemetry lowers both storage consumption and system overhead.
Tune Log Collection Intervals
Some modules perform periodic scans rather than continuous monitoring.
Examples include:
- Vulnerability Detection
- SCA scans
- Inventory collection
- Scheduled log collection tasks
Reducing scan frequency where operationally acceptable can significantly reduce data growth.
For example:
| Scan Type | Default Frequency | Possible Optimization |
|---|---|---|
| SCA | Daily | Weekly |
| Software inventory | Daily | Every 3–7 days |
| Vulnerability scans | Frequent | Match patch cadence |
Intervals should always align with organizational security requirements and compliance obligations.
Monitoring Wazuh Storage Usage
Storage optimization is only effective when administrators continuously monitor disk utilization and index growth.
Regular monitoring allows teams to identify abnormal growth before storage shortages impact indexing or search performance.
Wazuh and OpenSearch provide multiple tools for tracking storage health.
Using the Wazuh Dashboard
The Wazuh Dashboard provides visibility into cluster health and indexed security data.
Administrators should routinely monitor:
- Cluster status
- Node health
- Recent index activity
- Alert volumes
- Search performance
- Data ingestion trends
Although the dashboard does not replace infrastructure monitoring, it offers an excellent operational overview for security teams.
Monitoring OpenSearch Disk Usage
The OpenSearch cluster should be monitored continuously for available disk capacity.
Key metrics include:
- Total disk capacity
- Used storage
- Available storage
- Percentage utilization
- Disk usage by node
Rapid increases often indicate:
- Unexpected event spikes
- Misconfigured agents
- Duplicate log ingestion
- Failed retention policies
- Index rollover failures
The OpenSearch Project recommends monitoring cluster storage as part of routine operational health checks.
Viewing Index Sizes
Individual indexes should be reviewed regularly.
Useful metrics include:
- Index size
- Document count
- Primary storage
- Replica storage
- Growth rate
Comparing index sizes over time helps identify:
- Noisy data sources
- Modules generating excessive events
- Retention policy failures
- Unexpected ingestion increases
Large indexes are often easier to manage when rollover policies are adjusted before they become excessively large.
Monitoring Shard Allocation
Healthy shard allocation is essential for both storage efficiency and cluster performance.
Administrators should monitor:
- Number of primary shards
- Replica placement
- Unassigned shards
- Shard balance across nodes
- Oversized shards
Poor shard allocation can lead to:
- Uneven disk utilization
- Slower searches
- Longer recovery times
- Increased infrastructure costs
For more information, see How to Design a Wazuh OpenSearch Shard Allocation Strategy and How to Build a Wazuh Indexer Cluster.
Checking Disk Watermarks
OpenSearch protects cluster stability through configurable disk watermarks.
These thresholds determine when the cluster should begin restricting shard allocation to prevent disks from becoming full.
The three primary thresholds are:
| Watermark | Purpose |
|---|---|
| Low | Limits allocation to heavily utilized nodes |
| High | Relocates shards away from nearly full disks |
| Flood stage | Places affected indexes into read-only mode to prevent corruption |
Ignoring watermark warnings can eventually stop indexing operations entirely.
The OpenSearch documentation strongly recommends addressing storage pressure before flood-stage protection is triggered.
Creating Storage Alerts
Proactive alerting enables administrators to respond before storage problems become service outages.
Useful alerts include:
- Disk utilization above 75%
- Rapid daily storage growth
- Failed snapshots
- Index rollover failures
- High shard counts
- Unassigned shards
- Flood-stage watermark reached
- Cluster status changes
Integrating these alerts with email, Slack, PagerDuty, or other notification platforms ensures storage issues are addressed promptly.
For integration guidance, see Wazuh Email Alerts Not Working? Complete Fix Guide and Resolving PagerDuty Integration Failures and Routing Key Errors in Wazuh.
Managing Indexes for Better Storage Efficiency
Indexes are the largest consumers of storage in nearly every Wazuh deployment.
Proper index management improves search performance, reduces infrastructure costs, and ensures that storage resources are used efficiently throughout the data lifecycle.
An effective strategy combines planning, automation, and periodic maintenance.
Index Lifecycle Planning
Every index should follow a defined lifecycle from creation to deletion.
A typical lifecycle includes:
- Index creation
- Active indexing
- Read-only state
- Snapshot creation
- Archive or warm storage
- Automatic deletion
Planning these stages in advance prevents uncontrolled index growth and simplifies long-term storage management.
Index State Management (ISM) is the preferred mechanism for automating this lifecycle.
See How to Configure Wazuh Index State Management (ISM).
Index Rollover Strategies
Rather than storing months of data in a single index, configure rollover policies based on predefined thresholds.
Common rollover triggers include:
- Maximum index size
- Maximum document count
- Maximum index age
Benefits include:
- Faster searches
- Quicker shard recovery
- Easier snapshot management
- More balanced shard allocation
The OpenSearch Project recommends avoiding oversized shards because they reduce cluster flexibility and increase recovery times.
Force Merge Older Indexes
Once an index becomes read-only, a force merge operation can reduce the number of index segments.
Benefits include:
- Lower storage overhead
- Faster searches
- Reduced segment fragmentation
- Improved cache efficiency
Because force merge is resource-intensive, it should be performed only on indexes that are no longer receiving writes.
It is commonly incorporated into automated lifecycle policies after index rollover.
Shrink Large Indexes
Indexes created with many primary shards may become inefficient after write activity stops.
The OpenSearch Shrink API allows administrators to consolidate multiple primary shards into fewer, larger shards.
Shrinking indexes can:
- Reduce cluster overhead
- Improve storage efficiency
- Lower shard counts
- Simplify long-term maintenance
This operation is most beneficial for historical indexes that are queried occasionally but no longer updated.
Delete Obsolete Indexes Safely
Deleting expired indexes is the final stage of an effective storage lifecycle.
Before removing indexes:
- Verify retention requirements.
- Confirm snapshots have completed successfully.
- Ensure no ongoing investigations require the data.
- Validate applicable regulatory or compliance obligations.
Automated deletion through ISM policies minimizes administrative effort while preventing unnecessary storage growth.
For organizations with compliance requirements, combining snapshots with automated deletion provides an effective balance between long-term retention and operational efficiency.
Performance Optimization Tips
Efficient storage management is closely connected to Wazuh performance.
Poorly optimized storage configurations can increase indexing latency, slow dashboard searches, delay alert processing, and reduce the overall reliability of the security monitoring platform.
Optimizing storage performance requires balancing disk capacity, indexing speed, search requirements, and cluster availability.
Choose Appropriate Shard Sizes
Shard sizing is one of the most important factors affecting OpenSearch performance.
Oversized shards can cause:
- Slow searches
- Longer recovery times
- Increased memory consumption
- Difficult cluster maintenance
Excessively small shards can also create problems by increasing:
- Cluster metadata overhead
- File handles
- JVM memory usage
- Shard management complexity
A practical approach is to design indexes so shards remain within a manageable size range based on workload requirements.
Factors affecting shard size include:
- Daily ingestion volume
- Retention period
- Query frequency
- Number of nodes
- Available storage capacity
Administrators should regularly review shard sizes and adjust rollover policies as data volumes change.
For more guidance, see How to Design a Wazuh OpenSearch Shard Allocation Strategy.
Balance Storage Across Nodes
Uneven storage distribution can reduce cluster performance even when total capacity appears sufficient.
Common causes of imbalance include:
- Unequal disk sizes between nodes
- Incorrect shard allocation settings
- Recently added nodes
- Failed shard relocation
- Heavy ingestion on specific indexes
A balanced cluster provides:
- More predictable performance
- Faster recovery
- Better resource utilization
- Reduced risk of individual node failures
Administrators should regularly monitor:
- Disk usage per node
- Shard distribution
- Index allocation
- Node availability
Optimize JVM Heap Usage
The Wazuh Indexer relies on the Java Virtual Machine (JVM), and improper heap allocation can negatively affect storage performance.
Too little heap may cause:
- Frequent garbage collection
- Slow indexing
- Search delays
- Memory pressure
Too much heap can also reduce performance by limiting operating system filesystem caching.
General OpenSearch guidance recommends keeping JVM heap allocation balanced with available system memory rather than assigning all RAM to Java.
Administrators should monitor:
- JVM heap usage
- Garbage collection frequency
- Memory pressure
- Indexing latency
For related tuning guidance, see How to Tune OpenSearch Heap Size to Stop Wazuh High Memory Crashes.
Use SSD Storage for Hot Data
Storage performance directly affects indexing and search operations.
For active Wazuh data, SSD or NVMe storage provides significant advantages:
- Faster indexing
- Lower query latency
- Faster shard recovery
- Improved dashboard responsiveness
Hot data typically includes:
- Recent security alerts
- Active investigation data
- Frequently searched indexes
Lower-cost storage can be used for older archived data that does not require immediate access.
Reduce Unnecessary Replicas
Replica shards improve availability, but they also increase storage requirements and indexing workload.
For example:
- One replica doubles storage consumption.
- Two replicas triple storage consumption.
Organizations should configure replicas based on availability requirements.
Consider:
- Number of indexer nodes
- Required fault tolerance
- Search workload
- Recovery objectives
Development environments may require fewer replicas, while production environments typically require at least one replica for resilience.
Monitor Storage Latency
Storage capacity alone does not determine performance.
Slow storage can create:
- Increased indexing delays
- Longer searches
- High CPU wait times
- Dashboard responsiveness issues
Monitor metrics such as:
- Disk I/O latency
- Read/write throughput
- IOPS
- Filesystem utilization
High latency often indicates that storage hardware needs improvement or that indexing workloads exceed current capacity.
Security Best Practices
Wazuh stores sensitive security information, including authentication events, vulnerability data, endpoint activity, and incident investigation records.
Protecting this data is critical because unauthorized access could expose valuable information about an organization’s infrastructure.
Storage security should include encryption, access controls, monitoring, and secure backup practices.
Encrypt Stored Security Data
Encryption protects Wazuh data if storage media is compromised or unauthorized users gain physical access.
Recommended protections include:
- Full-disk encryption
- Encrypted storage volumes
- Encrypted snapshot repositories
- Encrypted backup storage
Encryption should be applied to:
- Wazuh Manager storage
- Wazuh Indexer volumes
- Snapshot repositories
- Archive locations
Organizations should also protect encryption keys using secure key management practices.
Restrict Access to Storage Volumes
Storage volumes containing Wazuh data should only be accessible by authorized administrators and services.
Best practices include:
- Restrict filesystem permissions
- Disable unnecessary accounts
- Separate administrative privileges
- Monitor privileged access
- Use secure authentication methods
Avoid allowing broad operating system access to directories containing:
- Alerts
- Logs
- Index data
- Snapshots
- Configuration files
Protect Snapshot Repositories
Snapshot repositories contain copies of potentially sensitive security information.
Protect repositories by:
- Encrypting stored snapshots
- Restricting repository permissions
- Limiting administrative access
- Monitoring repository activity
- Validating snapshot integrity
Cloud storage repositories should use security controls such as:
- Private buckets
- Access policies
- Encryption keys
- Network restrictions
Implement Least-Privilege Access
Only users and services that require storage access should receive permissions.
Examples:
- Security analysts should access dashboards, not raw storage directories.
- Backup systems should access snapshot repositories only.
- Administrators should receive elevated permissions only when required.
Least-privilege access reduces the risk of accidental deletion, unauthorized modification, or data exposure.
Monitor Storage-Related Audit Logs
Storage-related activities should be monitored for suspicious behavior.
Examples include:
- Unauthorized snapshot deletion
- Changes to storage permissions
- Unexpected index deletion
- Failed backup operations
- Access from unknown systems
Monitoring these events helps identify operational mistakes and potential security incidents.
Secure Backup Storage
Backups should receive the same security attention as production data.
Recommended practices include:
- Encrypt backups at rest
- Store copies in separate locations
- Limit backup administrator access
- Regularly test restoration
- Maintain multiple recovery points
A secure backup strategy protects against:
- Hardware failure
- Accidental deletion
- Malware
- Ransomware
- Infrastructure outages
Real-World Example
Scenario
A security operations team manages a Wazuh deployment monitoring approximately 25,000 endpoints across multiple geographic locations.
The environment collects Windows event logs, Linux system logs, cloud activity, vulnerability information, and File Integrity Monitoring data.
Over several months, storage utilization increases rapidly due to:
- High daily event volumes
- Long retention requirements
- Extensive FIM monitoring
- Frequent vulnerability scans
- Cloud workload expansion
Eventually, the Wazuh Indexer cluster approaches critical disk capacity.
Analysts begin experiencing slow searches, delayed dashboard loading, and increased indexing latency.
The team investigates the issue and identifies several causes:
- Indexes growing without rollover policies
- Historical data remaining searchable indefinitely
- Unnecessary log sources being collected
- Excessive FIM events from temporary directories
- Large vulnerability datasets accumulating over time
To resolve the problem, administrators implement a comprehensive storage management strategy.
They configure Index State Management (ISM) policies to automate the entire index lifecycle, including rollover, retention, and deletion.
They also:
- Enable automatic index rollover based on size and age.
- Delete expired indexes after 90 days.
- Move older indexes to warm storage.
- Create automated snapshots for long-term retention.
- Reduce unnecessary log collection.
- Exclude noisy FIM paths.
- Optimize vulnerability detection schedules.
- Adjust shard allocation for better balance.
- Monitor disk watermarks continuously.
After these changes:
- Storage growth becomes predictable.
- Search performance improves.
- Indexing delays are eliminated.
- Disk utilization remains below critical thresholds.
- Historical data remains available through snapshots.
- The environment can scale as endpoint counts increase.
This approach allows the security team to maintain strong visibility while controlling infrastructure costs and preventing unexpected storage outages.
Frequently Asked Questions (FAQ)
Question: What Is Wazuh Storage?
Wazuh storage refers to the locations and systems used to store security events, alerts, logs, indexes, configuration data, and backups.
Wazuh storage typically includes:
- Wazuh Manager files
- Wazuh Indexer OpenSearch indexes
- Dashboard objects
- Snapshot repositories
- Archived logs
Question: Where Does Wazuh Store Logs?
Wazuh stores logs in multiple locations depending on the type of data.
Common locations include:
- Wazuh Manager log directories
- Alert files
- Archive files
- OpenSearch indexes managed by the Wazuh Indexer
Most searchable security data is stored inside the Wazuh Indexer.
Question: How Much Storage Does Wazuh Need?
Storage requirements depend on:
- Number of endpoints
- Events per second
- Log size
- Enabled modules
- Retention period
- Replica configuration
Small deployments may require hundreds of gigabytes, while enterprise environments may require multiple terabytes.
Storage should always be calculated based on actual ingestion rates rather than endpoint count alone.
Question: How Do I Reduce Wazuh Storage Usage?
Common ways to reduce storage consumption include:
- Implementing Index State Management
- Deleting expired indexes
- Reducing unnecessary log collection
- Filtering noisy events
- Optimizing FIM configuration
- Reducing duplicate alerts
- Using snapshots for older data
Question: What Is the Best Retention Period for Wazuh Logs?
The ideal retention period depends on:
- Compliance requirements
- Security investigation needs
- Storage budget
- Business risk
Many organizations keep:
- 30–90 days of searchable data
- Longer-term data in snapshots or archives
Retention should balance accessibility with storage cost.
Question: Can I Automatically Delete Old Wazuh Indexes?
Yes.
Administrators can use OpenSearch Index State Management policies to automatically:
- Roll over indexes
- Archive older data
- Delete expired indexes
Automation prevents uncontrolled storage growth.
Question: Should I Use Snapshots for Backups?
Yes.
Snapshots are the recommended method for backing up Wazuh Indexer data because they preserve:
- Index data
- Mappings
- Metadata
- Cluster information
Snapshots are especially useful for long-term retention because they allow older data to be removed from active storage.
Question: How Do I Monitor Wazuh Disk Usage?
Storage usage can be monitored through:
- Wazuh Dashboard
- OpenSearch APIs
- Operating system tools
- Infrastructure monitoring platforms
Important metrics include:
- Disk utilization
- Index growth
- Shard allocation
- Cluster health
- Watermark status
Question: What Causes Wazuh Storage to Grow Quickly?
Common causes include:
- Large endpoint counts
- Excessive log collection
- Long retention periods
- Broad FIM monitoring
- Cloud and container logs
- Duplicate events
- Missing lifecycle policies
Question: Can Wazuh Use Hot-Warm Storage Architectures?
Yes.
Large Wazuh deployments can separate data into different storage tiers.
A typical architecture includes:
- Hot storage for recent searchable data
- Warm storage for older searchable indexes
- Cold storage or snapshots for long-term retention
This approach improves performance while reducing infrastructure costs.
Conclusion
Managing Wazuh storage effectively is essential for maintaining a reliable, scalable security monitoring platform.
As environments grow, uncontrolled data accumulation can quickly impact indexing performance, dashboard responsiveness, and operational stability.
The most important storage management practices include:
- Implementing Index State Management (ISM)
- Configuring automated index rollover
- Removing expired indexes
- Using snapshots for long-term retention
- Optimizing log collection
- Tuning File Integrity Monitoring
- Monitoring disk utilization continuously
- Balancing shards across indexer nodes
Storage planning should be treated as an ongoing operational process rather than a one-time deployment task.
Regular monitoring, capacity planning, and lifecycle automation allow organizations to scale Wazuh confidently without unexpected outages.
As your Wazuh environment grows, focus on improving storage efficiency before adding more capacity.
A well-optimized storage architecture improves search performance, reduces infrastructure costs, and ensures security teams can continue investigating threats effectively.
For continued optimization, explore related guides including:

Be First to Comment