Key takeaways
- Size the server at 2 vCPU, 4 GB of RAM and 50 GB of storage minimum, and move to 4 vCPU, 8 GB and SSD storage beyond 500 hosts or offload collection to Zabbix Proxies. Ports to open: 10051 (server), 10050 (agent), 80/443 (frontend).
- MySQL install gotcha: the database must be created with
utf8mb4 COLLATE utf8mb4_bin, andSET GLOBAL log_bin_trust_function_creators = 1is required to import/usr/share/zabbix-sql-scripts/mysql/server.sql.gz. The frontend then opens with the default credentials Admin / zabbix, which must be changed on first login. - The
Hostnamein/etc/zabbix/zabbix_agent2.confmust match the Host name declared in the frontend exactly, otherwise the host stays without data; check the chain from the server withzabbix_get -s 192.168.1.20 -k agent.ping. - Triggers are expressions over the collected data, such as
avg(/Linux by Zabbix agent/system.cpu.util,5m)>90orlast(/Linux by Zabbix agent/vfs.fs.size[/,pfree])<10, spread across six severities from Not classified to Disaster that drive actions and escalations. - Encrypt agent-server traffic with a pre-shared key:
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agent2.psk, thenTLSConnect=pskandTLSAccept=pskon the agent plus the same PSK identity in the host Encryption tab in the frontend — both ends must match.
Zabbix is an enterprise-grade open source monitoring solution. It lets you monitor your entire IT infrastructure: servers, network equipment, virtual machines, applications and cloud services. Zabbix collects metrics, detects anomalies and alerts you in real time to guarantee the availability of your systems.
Prerequisites
Before starting the Zabbix installation, make sure you have the following:
- Linux server: Ubuntu 22.04 LTS or Debian 12 (64-bit architecture recommended)
- Database: MySQL 8.0+ or PostgreSQL 14+ (PostgreSQL recommended for large environments)
- Web server: Nginx or Apache with PHP 8.0+
- Minimum resources: 2 vCPU, 4 GB of RAM, 50 GB of storage
- Privileges: root or sudo access on the server
- Network: Port 10051 (Zabbix Server), port 10050 (Zabbix Agent), port 80/443 (Frontend)
The required resources depend on the number of monitored hosts. For more than 500 hosts, plan for at least 4 vCPU, 8 GB of RAM and SSD storage. For very large environments, use Zabbix Proxies.
Zabbix architecture
Zabbix is built on a modular architecture made up of several components:
- Zabbix Server: The central component that receives monitoring data, evaluates triggers and sends alerts. It is the brain of the system.
- Zabbix Agent: A lightweight daemon installed on each monitored host. It collects local metrics (CPU, memory, disk, network) and forwards them to the server.
- Zabbix Proxy: An optional intermediate component that collects data on behalf of the server. Ideal for remote sites or distributed environments.
- Zabbix Frontend: The PHP web interface used to configure monitoring, visualize data and manage alerts.
- Database: Stores the configuration, the metric history and the events. MySQL or PostgreSQL are supported.
Premium Content
This advanced tutorial is reserved for premium members.
- All advanced tutorials
- New content every week
- Progress tracking
- Cancel anytime