After reviewing the proposed architecture against both the Wazuh and OpenSearch/wazuh indexer recommendations, the design is technically feasible. However, there are several considerations that should be evaluated before finalizing the deployment.
Using the existing HDD-based server as a dedicated cluster-manager-only Wazuh Indexer node is supported and can function correctly, provided that the node does not host data shards or perform ingest operations. In this configuration, the node primarily participates in cluster coordination activities such as maintaining cluster state, shard allocation decisions, node membership management, and leader election.
However, it is important to note that OpenSearch/wazuh indexer still persists cluster metadata and state information to disk. While cluster-manager nodes generally experience significantly less I/O than data nodes, SSD storage remains the preferred option because cluster state updates, recovery operations, shard reallocations, and cluster membership changes can still be impacted by storage performance. Therefore, using an HDD-based cluster-manager node is acceptable, but it should be viewed as a compromise rather than an optimal design.
Another important consideration is resource utilization. In the proposed architecture, Node 1 would contribute cluster coordination only, while Nodes 2 and 3 would be responsible for all indexing, storage, search, and ingest operations. As a result, the HDD server contributes little processing capacity toward actual log ingestion and storage. For small-to-medium Wazuh deployments, this can lead to underutilization of available hardware resources, particularly if the server has significant CPU and memory capacity.
The more significant concern is ensuring proper cluster-manager eligibility and quorum. OpenSearch relies on quorum-based decision making, and high availability depends on maintaining sufficient cluster-manager eligible nodes. If Node 1 is the only cluster-manager eligible node in the cluster, it becomes a single point of failure. In such a scenario, the loss of Node 1 could prevent cluster-manager election and impact cluster operations. For production environments, OpenSearch recommends maintaining multiple cluster-manager eligible nodes to ensure cluster resilience and proper leader election.
From a best-practice perspective, the preferred approach for a three-node Wazuh Indexer cluster is often to allow all three nodes to be cluster-manager eligible while using the SSD-backed nodes for data storage and ingest workloads. This provides better utilization of cluster resources while maintaining quorum and fault tolerance.
If the HDD server must remain part of the deployment, a reasonable compromise would be:
Node 1: Cluster-manager eligible node (preferably no data role if storage performance is a concern)
Node 2: Cluster-manager eligible + Data + Ingest
Node 3: Cluster-manager eligible + Data + Ingest
This approach preserves quorum, avoids a single point of failure, and allows the cluster to continue operating if any individual node becomes unavailable.
In summary, the proposed architecture is supported and should work for the expected ingestion volume. However, the primary concern is not the use of HDD storage itself, but rather ensuring proper cluster-manager eligibility, quorum design, and efficient utilization of available hardware resources. SSD storage remains the recommended option for all OpenSearch/wazuh indexer nodes, including cluster-manager nodes, whenever possible.
References:
Wazuh Indexer Cluster Tuning: https://documentation.wazuh.com/current/user-manual/wazuh-indexer-cluster/wazuh-indexer-cluster-tuning.html
OpenSearch Cluster Tuning and Node Roles: https://docs.opensearch.org/2.19/tuning-your-cluster/
OpenSearch Dedicated Cluster Manager Nodes and Quorum Guidance: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-dedicatedmasternodes.html
Based on the information provided, the estimated ingestion volume is approximately 5 million events per day from Microsoft 365, Entra ID, and agentless Syslog sources.
Converting this to Events Per Second (EPS):
However, infrastructure sizing should not be based solely on average EPS. Microsoft 365, Entra ID, and Syslog sources typically generate events in bursts rather than at a constant rate throughout the day. As a result, peak ingestion rates can be several times higher than the daily average.
Therefore, a practical sizing target would be approximately 300–600 EPS peak ingestion capacity.
Based on this workload, the proposed architecture should be sufficient provided that the indexer data nodes use SSD storage and proper retention and index management policies are implemented. Please find the recommended architecture.
Regards,
Thank you for the follow-up and for sharing the finalized architecture.
Regarding the Wazuh Dashboard placement, your proposed approach of deploying the Dashboard only on Node 1 and Node 2 is perfectly valid and is the approach we would recommend for this deployment.
The Wazuh Dashboard is a stateless component that provides the user interface and communicates with the Wazuh Indexer cluster. It does not participate in indexing, data storage, shard allocation, cluster management, or event processing. Therefore, there is no requirement to install the Dashboard on every node in the cluster.
deploying the Dashboard on Nodes 1 and 2 provides UI-level redundancy while allowing Node 3 to dedicate all available resources to Wazuh Manager and Indexer operations.
Additionally, multiple Dashboard instances are fully supported. All Dashboard instances connect to the same Indexer cluster and display the same data. Running multiple Dashboards does not duplicate data or increase indexing workload. The primary load generated by Dashboards comes from user searches, visualizations, and reporting activities, which are executed against the Indexer cluster regardless of the number of Dashboard instances.
One additional consideration is that Wazuh's recommended architecture for larger production environments is to separate the Wazuh Manager layer and the Wazuh Indexer layer onto dedicated servers. This recommendation exists because Managers are responsible for event processing, decoding, rule matching, and alert generation, while Indexers are responsible for indexing, searching, shard management, and storage operations. Separating these roles allows resources to be dedicated to each workload independently and simplifies future scaling.
However, for the estimated workload you described (approximately 5 million events per day, equivalent to ~58 average EPS with peak rates potentially several times higher), your proposed architecture remains a reasonable and practical compromise. That said, we recommend carefully validating the available CPU and memory resources on each node. According to Wazuh sizing recommendations, a deployment handling this workload may require approximately 8 CPU cores and 16 GB RAM for the Wazuh Manager alone. In your design, the same servers are also hosting Wazuh Indexer and, on some nodes, the Wazuh Dashboard. As a result, the total resource requirements will be higher than those allocated for a standalone Manager deployment. Before proceeding, we recommend reviewing the combined resource consumption of all components and ensuring that sufficient CPU, memory, and storage capacity are available, particularly on Nodes 2 and 3 where the Indexer data and ingest workloads will reside. Monitoring resource utilization after deployment is also recommended to confirm that adequate headroom remains for future growth.
I hope it helps. Please let us know if you have any further questions or concerns.
Regards,