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 ### 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 Indexer nodes
- `wi1`, `wi2`, `wi3`: Wazuh Indexers forming a cluster. - `manager`, `worker`: Wazuh Servers.
- `manager`, `worker`: Wazuh Servers. - `dashboard`: Wazuh Dashboard.
- `balancer`: Load balancer for distributing requests.
- `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 ```ini
[all] [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> wi3 ansible_host=<indexer3_public_ip> private_ip=<indexer3_private_ip>
manager ansible_host=<manager_public_ip> private_ip=<manager_private_ip> manager ansible_host=<manager_public_ip> private_ip=<manager_private_ip>
worker ansible_host=<worker_public_ip> private_ip=<worker_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> dashboard ansible_host=<dashboard_public_ip> private_ip=<dashboard_private_ip>
[wi_cluster] [wi_cluster]
@ -49,8 +48,25 @@ ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ansible_ssh_private_key_file=/path/to/private_key.pem 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 ## Playbook Configuration
For more information on the deployment procedure refer to the [Deployment](../deployment.md) section.
### AIO Deployment Playbook ### AIO Deployment Playbook
The AIO deployment playbook is preconfigured with default values, requiring only the inventory file to be defined for deployment. 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. - Three Wazuh Indexer nodes (`wi1`, `wi2`, `wi3`) forming a cluster.
- Two Wazuh Server nodes (`manager` and `worker`). - 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`). - A Wazuh Dashboard node (`dashboard`).
The playbook `wazuh-distributed.yml` includes: 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 Indexer role: Handles the configuration and certificate generation for each node.
- Wazuh Server role: - Wazuh Server role:
- Configures the `manager` and `worker` nodes and their connectivity to the Indexer nodes. - 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 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: A distributed deployment spreads components across multiple nodes for improved scalability and redundancy. The components include:
- Three Wazuh Indexer nodes - 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 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. 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**: **Control Node Requirements**:
- **Ansible**: Install Ansible version 2.9 or newer. - **Ansible**: Recomend to install ansible-core version 2.16 or newer.
- **Python**: Use Python version 3.6 or newer. - **Python**: Use Python version 3.10 or newer.
- **Additional Tools**: - **Additional Tools**:
- Git: Required for cloning the wazuh-ansible repository. - Git: Required for cloning the wazuh-ansible repository.
- SSH: Necessary for connecting to remote servers. - 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**: **Target Node Requirements**:
- **Python**: Python 3 or newer. - **Python**: Python 3.10 or newer.
- **Additional Tools**: - **Additional Tools**:
- For Linux: Ensure SSH is configured and accessible for remote connections. - For Linux: Ensure SSH is configured and accessible for remote connections.
- For Windows: Configure and enable the `winrm` service for remote access. - For Windows: Configure and enable the `winrm` service for remote access.

View File

@ -2,11 +2,11 @@
### All-in-One (AIO) Deployment ### 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 ### 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 ### Ansible
@ -14,27 +14,19 @@ An open-source automation tool used for configuration management, application de
### Ansible Inventory File ### 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 ### 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`. 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 ### Roles
Reusable Ansible configurations that define tasks for specific components. Examples include `wazuh-indexer`, `wazuh-server`, and `wazuh-dashboard`. Reusable Ansible configurations that define tasks for specific components. Examples include `wazuh-indexer`, `wazuh-server`, and `wazuh-dashboard`.
### SSH ### 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 ### 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. 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 ## Central Components Compatibility