forked from wazuh/wazuh-docker
Add reference documentation
This commit is contained in:
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user