Adapt and enhance documentation (backport from 6.0.0)

This commit is contained in:
Jesus Garcia 2025-11-19 00:27:49 -05:00
parent 814dd7d456
commit 912bd65c45
No known key found for this signature in database
GPG Key ID: 8461CA78326C96C9
5 changed files with 44 additions and 27 deletions

View File

@ -20,13 +20,13 @@ ansible_ssh_private_key_file=/path/to/key.pem
### Inventory file for Distributed deployment
For a distributed deployment, the inventory file defines multiple nodes, including Wazuh Indexers, Wazuh Servers, a load balancer, and a dashboard, along with their respective IP addresses and roles.
For a distributed deployment, the inventory file specifies multiple nodes, each with its public IP address (or FQDN) and private IP address. This setup includes:
- Nodes:
- `wi1`, `wi2`, `wi3`: Wazuh Indexers forming a cluster.
- `manager`, `worker`: Wazuh Servers.
- `balancer`: Load balancer for distributing requests.
- `dashboard`: Wazuh Dashboard.
- `wi1`, `wi2`, `wi3`: Wazuh Indexer nodes
- `manager`, `worker`: Wazuh Servers.
- `dashboard`: Wazuh Dashboard.
Each entry defines the required connection details, allowing Ansible to efficiently manage and configure the environment.Ensure that node names remain consistent with those used in the documentation's inventory examples.
```ini
[all]
@ -35,7 +35,6 @@ wi2 ansible_host=<indexer2_public_ip> private_ip=<indexer2_private_ip>
wi3 ansible_host=<indexer3_public_ip> private_ip=<indexer3_private_ip>
manager ansible_host=<manager_public_ip> private_ip=<manager_private_ip>
worker ansible_host=<worker_public_ip> private_ip=<worker_private_ip>
balancer ansible_host=<balancer_public_ip> private_ip=<balancer_private_ip>
dashboard ansible_host=<dashboard_public_ip> private_ip=<dashboard_private_ip>
[wi_cluster]
@ -49,8 +48,25 @@ ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ansible_ssh_private_key_file=/path/to/private_key.pem
```
### Inventory file for Wazuh Agent deployment
Deploying Wazuh Agents using Ansible requires an inventory file that lists all target hosts where the agents will be installed. Take the following example as a reference:
```ini
[agents]
agent1 ansible_host=<agent1_ip>
agent2 ansible_host=<agent2_ip>
[agents:vars]
ansible_user=vagrant
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ansible_ssh_private_key_file=/path/to/private_key.pem
```
## Playbook Configuration
For more information on the deployment procedure refer to the [Deployment](../deployment.md) section.
### AIO Deployment Playbook
The AIO deployment playbook is preconfigured with default values, requiring only the inventory file to be defined for deployment.
@ -67,7 +83,6 @@ The distributed deployment playbook comes preconfigured with default values tail
- Three Wazuh Indexer nodes (`wi1`, `wi2`, `wi3`) forming a cluster.
- Two Wazuh Server nodes (`manager` and `worker`).
- An Nginx load balancer node (`balancer`) to distribute requests among the Wazuh Servers.
- A Wazuh Dashboard node (`dashboard`).
The playbook `wazuh-distributed.yml` includes:
@ -75,5 +90,16 @@ The playbook `wazuh-distributed.yml` includes:
- Wazuh Indexer role: Handles the configuration and certificate generation for each node.
- Wazuh Server role:
- Configures the `manager` and `worker` nodes and their connectivity to the Indexer nodes.
- Configures the load balancer and its connectivity to the Wazuh Server nodes.
- Wazuh Dashboard role: Configures connectivity to both the Wazuh Indexer and Wazuh Server nodes.
### Wazuh Agent Deployment Playbook
The Wazuh Agent deployment playbook is designed to install and configure the Wazuh agent service on multiple hosts. This playbook supports Linux, MacOS and Windows systems. Check the [Requirements](../getting-started/requirements.md) section for further details.
The playbook wazuh-agent.yml includes:
- **Wazuh Agent Role**: Installs and configures the Wazuh agent on each host and enrolls to the Wazuh Server manager node.
- **Package URLs Role**: Manages package sources for agent installation.
**Important:**
Before running the playbook, edit the `wazuh-agent.yml` file and replace `<Your Wazuh Server IP>` with the actual IP address of your Wazuh Server manager node.

View File

@ -42,9 +42,8 @@ To perform an AIO deployment, use the `wazuh-aio.yml` playbook. This playbook in
A distributed deployment spreads components across multiple nodes for improved scalability and redundancy. The components include:
- Three Wazuh Indexer nodes
- Two Wazuh Server nodes (one master and one worker)
- Two Wazuh Server nodes (master and worker)
- One Wazuh Dashboard node
- One Nginx load balancer node to manage traffic distribution across Wazuh Server nodes
To execute a distributed deployment, use the `wazuh-distributed.yml` playbook, which installs and configures all necessary components across multiple nodes.

View File

@ -9,8 +9,8 @@ Here is a detailed outline of the requirements needed to implement Wazuh using w
**Control Node Requirements**:
- **Ansible**: Install Ansible version 2.9 or newer.
- **Python**: Use Python version 3.6 or newer.
- **Ansible**: Recomend to install ansible-core version 2.16 or newer.
- **Python**: Use Python version 3.10 or newer.
- **Additional Tools**:
- Git: Required for cloning the wazuh-ansible repository.
- SSH: Necessary for connecting to remote servers.
@ -40,7 +40,7 @@ Here is a detailed outline of the requirements needed to implement Wazuh using w
**Target Node Requirements**:
- **Python**: Python 3 or newer.
- **Python**: Python 3.10 or newer.
- **Additional Tools**:
- For Linux: Ensure SSH is configured and accessible for remote connections.
- For Windows: Configure and enable the `winrm` service for remote access.

View File

@ -2,11 +2,11 @@
### All-in-One (AIO) Deployment
A deployment method where all Wazuh components (Indexer, Server, and Dashboard) are installed on a single node. Suitable for small environments or testing purposes.
A deployment method where all Wazuh components (Indexer, Server, and Dashboard) and its dependencies are installed on a single node. Suitable for small environments or testing purposes.
### Distributed Deployment
A deployment method where Wazuh components are distributed across multiple nodes for scalability and redundancy. It includes multiple Indexer nodes, Server nodes, a Dashboard node, and a load balancer.
A deployment strategy in which Wazuh components are installed on separate nodes to enhance scalability, performance, and fault tolerance. It involves multiple Indexer nodes, Server nodes, and a single Dashboard node.
### Ansible
@ -14,27 +14,19 @@ An open-source automation tool used for configuration management, application de
### Ansible Inventory File
A configuration file (`inventory.ini`) that defines the target nodes, their IP addresses, and connection variables for Ansible playbooks.
A configuration file (typically `inventory.ini`) that defines the target nodes, their IP addresses, and connection variables for Ansible playbooks.
### Ansible Playbook
A YAML file containing a set of instructions (tasks) that Ansible executes on target nodes. Examples include `wazuh-aio.yml`, `wazuh-distributed.yml`, and `wazuh-agent.yml`.
### Distributed Deployment
A deployment method where Wazuh components are distributed across multiple nodes for scalability and redundancy. Typically includes multiple Indexer nodes, Server nodes, a Dashboard node, and a load balancer.
### Load Balancer
A component (e.g., Nginx) used in distributed deployments to distribute traffic across multiple Wazuh Server nodes.
### Roles
Reusable Ansible configurations that define tasks for specific components. Examples include `wazuh-indexer`, `wazuh-server`, and `wazuh-dashboard`.
### SSH
A protocol used for secure communication between the control node and target nodes during deployment.
A secure network protocol used to establish encrypted communication between the control node and target nodes during playbook execution.
### Control Node

View File

@ -4,7 +4,7 @@ This section outlines the supported platforms, versions, and dependencies for de
It is important to note that since the Wazuh refactoring, wazuh-ansible is now only compatible with Wazuh version 6.0 and later.
Tambien es importante que revise la documentacion oficial de Ansible para asegurarse de que su nodo de control cumple con los requisitos de compatibilidad. Encuentrela en el siguiente enlace: [Ansible documentation - Release and Maintenance](https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html)
Also, review the official Ansible documentation to ensure your control node meets the compatibility requirements. You can find more information at the following link: [Ansible documentation - Release and Maintenance](https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html)
## Central Components Compatibility