Zabbix Hight Availability Setup Overview

Ricardo Martin | Mar 15, 2024 min read

Why you should consider High Availability

Choosing HA cluster setups over single node configurations is like having a backup plan for your backup plan. Single node setups might seem easier to handle, but they’re like putting all your eggs in one basket—if something goes wrong, it’s trouble. HA clusters spread the workload across multiple nodes, so if one goes down, the others pick up the slack without missing a beat. Furthermore, HA clusters are scalable and let’s not forget about the automatic monitoring and recovery. So, when it comes to keeping your systems up and running with minimum downtime, HA clusters are the way to go.

HA Cluster Pros and Cons

Pros Cons
Dividing tasks means if one node fails, the others keep things rolling. Setting up and managing an HA cluster takes more know-how and effort.
Can expand effortlessly to handle more load as your needs grow. It can cost more to set up and maintain compared to single node setups.
Built-in monitoring and recovery features keep things running smoothly. Running multiple nodes at once might need beefier hardware.

Single Node Pros and Cons

Although HA clusters are great for production, single node deployments are great for testing

Pros Cons
Easy-peasy to set up and manage, especially for small setups. If that one node goes down, so does your whole operation.
Costs less upfront and to keep running. Tough to expand smoothly without some major revamps.
Uses hardware more efficiently for standalone tasks. When things crash, it usually needs a manual touch to get back on track, leading to potential downtimes.

HA Cluster Diagram

zabbix_HA

Cluster Overview

Servers

Role Operating System RAM CPU Disk
Zabbix Server Ubuntu 24.04 4GB 2 100GB
Zabbix Database Ubuntu 24.04 4GB 2 100GB
Zabbix Proxy Zabbix Alpine Image Currently using 33 MiB Currently using 0.13% Currently using 54MB
Zabbix Frontend Zabbix Alpine Image Currently using 182 MiB Currently using 0.01% Currently using 161MB

Docker commands to get container information

CPU and Memory usage

docker stats --no-stream

Disk usage

docker ps --size

Next Steps

On the next post of this series, I will be covering the standalone database deployment. We’ll be using PostgreSQL as the main database, and Ubuntu 24.04 as the base operating system.

I’ll see you on the next one!