Add reference documentation

This commit is contained in:
vcerenu
2025-05-16 14:02:00 -03:00
parent f3a74ffff7
commit b120eff771
22 changed files with 522 additions and 41 deletions
-1
View File
@@ -1 +0,0 @@
# Getting Started
@@ -0,0 +1,46 @@
# Reference Manual - Deployment
This section provides detailed instructions for deploying Wazuh-Docker (version 4.12.0) in various configurations. Choose the deployment model that best suits your needs, from simple single-node setups for testing to more robust multi-node configurations for production environments.
## Overview of Deployment Options
Wazuh-Docker offers flexibility in how you can deploy the Wazuh stack. The primary methods covered in this documentation are:
1. **[Single Node Wazuh Stack](single-node.md)**:
* **Description**: Deploys all core Wazuh components (Wazuh manager, Wazuh indexer, Wazuh dashboard) as Docker containers on a single host machine.
* **Use Cases**: Ideal for development, testing, demonstrations, proof-of-concepts, and small-scale production environments where simplicity is prioritized and high availability is not a critical concern.
* **Pros**: Easiest and quickest to set up.
* **Cons**: Single point of failure; limited scalability compared to multi-node.
2. **[Multi Node Wazuh Stack](multi-node.md)**:
* **Description**: This typically refers to deploying a Wazuh Indexer cluster and potentially multiple Wazuh managers for improved scalability and resilience. While true multi-host orchestration often uses tools like Kubernetes, this section may cover configurations achievable with Docker Compose, possibly across multiple Docker hosts or with clustered services on a single powerful host.
* **Use Cases**: Production environments requiring higher availability, data redundancy (for Wazuh Indexer), and the ability to handle a larger number of agents.
* **Pros**: Improved fault tolerance (for clustered components like the Indexer), better performance distribution.
* **Cons**: More complex to set up and manage than a single-node deployment.
## Before You Begin Deployment
Ensure you have:
- Met all the [System Requirements](ref/getting-started/requirements.md).
- Installed Docker and Docker Compose on your host(s).
- Cloned the `wazuh-docker` repository (version `4.12.2`) or downloaded the necessary deployment files.
```bash
git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
cd wazuh-docker
git checkout v4.12.2
```
- Made a backup of any existing Wazuh data if you are migrating or upgrading.
## Choosing the Right Deployment
Consider the following factors when choosing a deployment model:
- **Scale**: How many agents do you plan to connect?
- **Availability**: What are your uptime requirements?
- **Resources**: What hardware resources (CPU, RAM, disk) are available?
- **Complexity**: What is your team's familiarity with Docker and distributed systems?
For most new users, starting with the [Single Node Wazuh Stack](single-node.md) is recommended to familiarize themselves with Wazuh-Docker. You can then explore more complex setups as your needs grow.
Navigate to the specific deployment guide linked above for detailed, step-by-step instructions.
@@ -31,4 +31,4 @@ This deployment utilizes the `multi-node/docker-compose.yml` file, which defines
docker-compose up -d
```
Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated.
Please allow some time for the environment to initialize, especially on the first run. A multi-node setup can take a few minutes (depending on your host resources and network) as the Wazuh Indexer cluster forms, and the necessary indexes and index patterns are generated.
@@ -0,0 +1,58 @@
# Reference Manual - Getting Started
This section guides you through the initial steps to get your Wazuh-docker (version 4.12.0) environment up and running. We will cover the prerequisites and point you to the deployment instructions.
## Overview
Getting started with Wazuh-Docker involves the following general steps:
1. **Understanding Requirements**: Ensuring your system meets the necessary hardware and software prerequisites.
2. **Choosing a Deployment Type**: Deciding whether a single-node or multi-node deployment is suitable for your needs.
3. **Setting up Docker**: Installing Docker and Docker Compose if you haven't already.
4. **Obtaining Wazuh-Docker Files**: Cloning the `wazuh-docker` repository or downloading the necessary `docker-compose.yml` and configuration files.
5. **Deploying the Stack**: Running `docker compose up` to launch the Wazuh components.
6. **Initial Configuration & Verification**: Performing any initial setup steps and verifying that all components are working correctly.
7. **Deploying Wazuh Agents**: Installing and configuring Wazuh agents on the endpoints you want to monitor and connecting them to your Wazuh manager.
## Before You Begin
Before diving into the deployment, please ensure you have reviewed:
- The [Description](ref/Introduction/description.md) of Wazuh-docker to understand the components and architecture.
- The [Requirements](ref/getting-started/requirements.md) to confirm your environment is suitable.
## Steps to Get Started
1. **Meet the [Requirements](requirements.md)**:
Verify that your host system has sufficient RAM, CPU, and disk space. Ensure Docker and Docker Compose are installed and functioning correctly.
2. **Obtain Wazuh-docker Configuration**:
You'll need the Docker Compose files and any associated configuration files from the `wazuh-docker` repository for version 4.12.0.
```bash
git clone [https://github.com/wazuh/wazuh-docker.git](https://github.com/wazuh/wazuh-docker.git)
cd wazuh-docker
git checkout 4.12.0
# Navigate to the specific docker-compose directory, e.g., single-node or multi-node
# cd docker-compose/single-node/ (example path)
```
Alternatively, you might download specific `docker-compose.yml` files if provided as part of a release package.
3. **Choose Your [Deployment Strategy](deployment/deployment.md)**:
Wazuh-docker supports different deployment models. Select the one that best fits your use case:
* **[Single Node Wazuh Stack](deployment/single-node.md)**: Ideal for testing, small environments, or proof-of-concept deployments. All main components (Wazuh manager, Wazuh indexer, Wazuh dashboard) run on a single Docker host.
* **[Multi Node Wazuh Stack](deployment/multi-node.md)**: Suitable for production environments requiring high availability and scalability. Components might be distributed across multiple hosts or configured in a clustered mode. (Note: True multi-host orchestration often involves Kubernetes, but multi-node within Docker Compose typically refers to clustered Wazuh Indexer/Manager setups on one or more Docker hosts managed carefully).
* **[Wazuh Agent Deployment](deployment/wazuh-agent.md)**: Instructions for deploying Wazuh agents on your endpoints and connecting them to the Wazuh manager running in Docker.
4. **Follow Deployment Instructions**:
Once you've chosen a deployment strategy, follow the detailed instructions provided in the respective sections linked above. This will typically involve:
* Configuring environment variables (if necessary).
* Initializing persistent volumes.
* Starting the services.
5. **Post-Deployment**:
After the stack is running:
* Access the Wazuh Dashboard via your web browser.
* Verify that all services are healthy.
* Begin enrolling Wazuh agents.
This Getting Started guide provides a high-level overview. For detailed, step-by-step instructions, please refer to the specific pages linked within this section.
+73 -1
View File
@@ -1 +1,73 @@
# Requirements
# Reference Manual - Requirements
Before deploying Wazuh-Docker (version 4.12.0), it's essential to ensure your environment meets the necessary hardware and software requirements. Meeting these prerequisites will help ensure a stable and performant Wazuh deployment.
## Host System Requirements
These are general recommendations. Actual needs may vary based on the number of agents, data volume, and usage patterns.
### Hardware:
* **CPU**:
* **Minimum**: 2 CPU cores.
* **Recommended**: 4 CPU cores or more, especially for production environments or deployments with a significant number of agents.
* **RAM**:
* **Minimum (Single-Node Test/Small Environment)**: 4 GB RAM. This is a tight minimum; 6 GB is safer.
* Wazuh Indexer (OpenSearch): Typically requires at least 1 GB RAM allocated to its JVM heap.
* Wazuh Manager: Resource usage depends on the number of agents.
* Wazuh Dashboard (OpenSearch Dashboards): Also consumes memory.
* **Recommended (Production/Multiple Agents)**: 8 GB RAM or more.
* **Disk Space**:
* **Minimum**: 50 GB of free disk space.
* **Recommended**: 100 GB or more, particularly for the Wazuh Indexer data. Disk space requirements will grow over time as more data is collected and indexed.
* **Disk Type**: SSDs (Solid State Drives) are highly recommended for the Wazuh Indexer data volumes for optimal performance.
* **Network**:
* A stable network connection with sufficient bandwidth, especially if agents are reporting from remote locations.
### Software:
* **Operating System**:
* A 64-bit Linux distribution is preferred (e.g., Ubuntu, CentOS, RHEL, Debian).
* **Docker Engine**:
* Version `20.10.0` or newer.
* Install Docker by following the official instructions: [Install Docker Engine](https://docs.docker.com/engine/install/).
* **Git Client**:
* Required for cloning the `wazuh-docker` repository.
* **Web Browser**:
* A modern web browser (e.g., Chrome, Firefox, Edge, Safari) for accessing the Wazuh Dashboard.
* **`vm.max_map_count` (Linux Hosts for Wazuh Indexer/OpenSearch)**:
* The Wazuh Indexer (OpenSearch) requires a higher `vm.max_map_count` setting than the default on most Linux systems.
* Set it permanently:
1. Edit `/etc/sysctl.conf` and add/modify the line:
```
vm.max_map_count=262144
```
2. Apply the change without rebooting:
```bash
sudo sysctl -p
```
* This is crucial for the stability of the Wazuh Indexer.
## Network Ports
Ensure that the necessary network ports are open and available on the Docker host and any firewalls:
* **Wazuh Manager**:
* `1514/UDP`: For agent communication (syslog).
* `1514/TCP`: For agent communication (if using TCP).
* `1515/TCP`: For agent enrollment.
* `55000/TCP`: For Wazuh API (default).
* **Wazuh Indexer**:
* `9200/TCP`: For HTTP REST API.
* `9300/TCP`: For inter-node communication (if clustered).
* **Wazuh Dashboard**:
* `5601/TCP` (or `443/TCP` if HTTPS is configured via a reverse proxy): For web access.
Port mappings in `docker-compose.yml` will expose these container ports on the host. Adjust host ports if defaults cause conflicts.
## Important Considerations
* **Production Environments**: For production, it's highly recommended to follow best practices for securing Docker and your host system. Consider using a multi-node setup for resilience.
* **Resource Allocation**: Monitor resource usage after deployment and adjust allocations (CPU, RAM for Docker, JVM heap for Wazuh Indexer) as necessary.
Meeting these requirements will pave the way for a smoother deployment and a more stable Wazuh-Docker experience.