mirror of
https://github.com/wazuh/wazuh-ansible.git
synced 2025-12-10 00:38:17 -06:00
Adapt and enhance documentation (backport from 6.0.0)
This commit is contained in:
parent
814dd7d456
commit
912bd65c45
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user