In the world of IT operations, monitoring is no longer an optional, it’s a must. Whether you manage a data center, enterprise infrastructure or a growing startup, keeping an eye on your network, servers and applications in real-time is essential to ensure smooth performance and minimize system downtime.

That’s where Zabbix comes into the picture. It’s one of the most powerful and open source monitoring tools available today. But setting it up manually can sometimes feel complicated and slow especially when dealing with OS-level package issues and dependencies.

The most easiest Solution to Set Up Network Monitoring Tool is: use Zabbix with Docker.

In this article, I will show you how to easily deploy Zabbix using Docker containers in just a few steps with no technical mess, no dependency errors and fully scalable for future. 

Zabbix is an open-source enterprise-level network monitoring solution for:

  • Servers, Networking Switch, Routers, UTM Devices.   
  • Virtual machines and containers
  • Applications and databases
  • Cloud services (AWS, Azure, GCP
  • IoT and custom metrics

 It offers many functionalities including: 

  • Real-time monitoring
  • Alerts and notifications
  • Custom dashboards
  • Predictive analytics
  • High availability support
  • AI Integration. 

And the best part is It’s free and highly customizable.

Why Use Docker to Install Zabbix?

Installing Zabbix using Docker has several benefits like:

Traditional SetupDocker Setup
OS-specific dependenciesCross-platform, lightweight containers
Complex installation stepsEasy single-file deployment
Hard to scaleEasily scalable with Docker Compose
Manual cleanupClean up with one command

With Docker, you can get Zabbix up and running in under 10 minutes, without touching complicated configuration files or risking package conflicts.

 

CriteriaDocker InstallationNative Installation
🔄 Easy to maintain & upgrade✅ Yes🚫 Manual updates
🔌 Clean isolation✅ No OS pollution❌ Direct OS impact
⚙️ Fast deployment✅ Pull and run🚫 Manual config/setup
🧠 Easy AI/ML integration (via containers or APIs)❌ Harder to manage dependencies

Prerequisites to set up network monitoring tool Zabbix using Docker

Before we begin, make sure following are ready:

✅ You have a system running Ubuntu 22.04 or 24.04 OS.
✅ Docker and Docker Compose are installed
✅ You have basic command-line access

💡 If you’re new to Docker, don’t worry, it’s very easy. I will guide you to use docker easily. 

Step-by-Step Guide: Install Zabbix Using Docker

  1. Login into the server where you will install Zabbix server. You may use Putty to login into Ubuntu Server.

After login: run below command to check the OS version.

cat /etc/os-release

Then run following command one by one to install the Docker: 

                                                                                    i) sudo apt update

                                                                                    ii) sudo apt install -y docker.io

                                                                                   iii) sudo apt install -y docker-compose-plugin

                                                                                  iv) sudo usermod -aG docker $USER

                                                                                   v) newgrp docker

 2) Clone Zabbix Official Docker Repo

                                                                                    i) git clone https://github.com/zabbix/zabbix-docker.git

                                                                                      ii) cd zabbix-docker

  1. Checkout Stable Version: 

                                                                                    i) git checkout #6.5  or 7.0 if you want bleeding edge

  1. Copy & Edit a Docker Compose File

 Choose this recommended compose file:

                                                                                    i) cp docker-compose_v3_ubuntu_mysql_latest.yaml docker-compose.yaml

                                                                                    ii) Edit .env files and passwords (optional but recommended):

                                                                                       nano env_vars/.env_db_mysql

                                                                                       nano env_vars/.env_web

  1. Start Zabbix: 

                                                                                     i) sudo docker compose up -d

🖥️ Access Zabbix Web Server: 

 i) Open your browser: http://<your_server_ip> (For Example: http://192.168.13.20 or http://192.168.13.20:8080

6) Login:

   i)    Username: Admin

   ii)    Password: Zabbix

zabbix_command
Zabbix_Commands one

Now, you’re inside the Zabbix dashboard! 🎉

Zabbix_Server_Dashboard

📊 What Can You Monitor with Zabbix?

With just a few clicks, you can start monitoring:

  • CPU, RAM, Disk usage of Linux and Windows servers

  • Network traffic, port status, and bandwidth

  • Web servers like Apache and NGINX

  • Databases like MySQL, PostgreSQL

  • Containers and cloud services

  • And even custom apps or IoT devices via scripts

Install and Configure Zabbix Agent on Windows, Linux and Network Switches/Routers

Step-by-Step Installation for Windows OS:

  1. Download Zabbix Agent for Windows

  2. Extract and Install

    • Extract the ZIP to C:\zabbix-agent

    • Execute the EXE File and install it on desire drive.

  3. Configure the Agent
    Open: C:\zabbix-agent\zabbix_agentd.conf
    Edit key lines:                                                                                                                                                                                                                        Server=your.zabbix.server.ip (192.168.13.20 in our case)
    ServerActive=your.zabbix.server.ip
    Hostname=Windows-Server-01

  4. Install and Start Service:

Go to C:\zabbix-agent
zabbix_agentd.exe –config zabbix_agentd.conf –install
zabbix_agentd.exe –start

Windows Firewall Rule (optional):

Allow port 10050 TCP inbound.

Step-by-Step agent Installation for Linux OS:

We will  Zabbix agent inside a Docker container. For this we must first install Docker on the Linux system where the agent will run.

Why Docker Is Required

Zabbix Agent in Docker is just a containerized version of the traditional agent. Therefore:

  • We need Docker Engine installed on the host system.

  • Docker runs the Zabbix Agent container, which communicates with the Zabbix Server.

Run below commands for Ubuntu / Debian:

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# Add Docker GPG key

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg

# Add Docker repo (run complete query at one shot)

echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable” | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Install Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Enable and start Docker
sudo systemctl enable docker
sudo systemctl start docker

** For RHEL / CentOS / Rocky / AlmaLinux

sudo yum install -y yum-utils
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Enable and start Docker
sudo systemctl enable docker
sudo systemctl start docker

After Installation: 

Verify that Docker is working:

docker –version
docker run hello-world

Run below command at a time:

sudo docker pull zabbix/zabbix-agent:latest

sudo docker run -d \
–name zabbix-agent \
–net=host \
–restart unless-stopped \
-e ZBX_SERVER_HOST=”192.168.13.20″ \
-e ZBX_HOSTNAME=”linux-node-01″ \
zabbix/zabbix-agent:latest

Explanation:

  • --net=host: Allows the container to use host networking

  • ZBX_SERVER_HOST: IP address of your Zabbix server

  • ZBX_HOSTNAME: How the host will appear in Zabbix dashboard

Add Host in Zabbix Server

  1. Go to Zabbix Web UI > Monitoring > Hosts > 

  2. Click Create Host

  3. Set:

    • Hostname: must match ZBX_HOSTNAME

    • IP: Host IP address

    • Agent interface: port 10050

    • Template: e.g., Template OS Linux by Zabbix agent

  4. Click Add


zabbix_agent_dashboard
Zabbix_agent_monitoring
Scroll to Top