Whether you're building a new monitoring environment or replacing a legacy system, Zabbix offers a flexible, open-source solution for full-stack observability. This guide will walk you through the entire process of installing and configuring Zabbix, following official best practices for a production-grade setup.
Zabbix uses a modular architecture that includes:
Zabbix Server: the core engine that processes data and triggers
Database: MySQL or PostgreSQL to store configuration and historical data
Web frontend: PHP-based UI for configuration and visualisation
Zabbix agents: collect OS-level metrics from monitored hosts
Optional: Zabbix proxies for distributed or large-scale setups
System requirements:
OS: RHEL/CentOS 8+, AlmaLinux 9, Debian 11, Ubuntu 20.04/22.04 LTS
CPU: 2+ cores
RAM: 2 GB minimum (8 GB recommended)
Storage: SSD recommended for DB performance
Related article: Cyber Security: Protecting Your Business in the Digital Age
This example installs Zabbix 6.0 LTS on AlmaLinux 9 with PostgreSQL.
dnf install -y https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
dnf clean all
dnf install -y zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent postgresql-server
postgresql-setup --initdb
systemctl enable --now postgresql
sudo -u postgres psql
create database zabbix;
create user zabbix with encrypted password 'StrongPassword';
grant all privileges on database zabbix to zabbix;
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix
Edit /etc/zabbix/zabbix_server.conf:
DBPassword=StrongPassword
systemctl enable --now zabbix-server zabbix-agent
Edit /etc/php-fpm.d/zabbix.conf and set timezone:
date.timezone = Europe/Lisbon
systemctl enable --now php-fpm httpd
Navigate to http://<server_ip_or_hostname>/zabbix
Follow the web wizard to finish installation.
Related article: Cyber security: Protecting your business in the digital age
Zabbix agents allow collection of CPU, memory, disk, and custom metrics.
dnf install -y zabbix-agent
systemctl enable --now zabbix-agent
Edit /etc/zabbix/zabbix_agentd.conf:
Server=<zabbix_server_ip>
ServerActive=<zabbix_server_ip>
Hostname=host1.example.com
Download from Zabbix Windows downloads
Configure .conf file and register agent as Windows service.
Use zabbix_get from the server to check agent:
zabbix_get -s <agent_ip> -k system.uptime
After logging into the frontend:
Login: Admin / zabbix → update password
Go to Configuration > Hosts > Create host
Set hostname, IP, group
Link to appropriate Template OS Linux, Template OS Windows, or SNMP template
Go to Configuration > Hosts > Triggers
Create logic such as:
Free disk space on / is less than 20% → High severity
Go to Administration > Media types and configure SMTP
Add media to user profile and create Action rule
Enable encrypted communication between agents and server using PSK or certificates:
Set TLSConnect=psk, TLSAccept=psk, and TLSPSKIdentity in agent and server config
Increase CacheSize, HistoryCacheSize, TrendCacheSize
Disable unnecessary items and triggers
Use housekeeper tuning to purge old data efficiently
Related article: Innovation anywhere with Azure Arc
Use PostgreSQL pg_dump and Zabbix XML export for full recovery strategy.
As a Zabbix-certified partner and Open Source Competence Center, Syone helps you:
Design scalable Zabbix architectures
Automate installation and configuration for hybrid environments
Create custom templates and alerts
Secure your setup with TLS and fine-grained roles
Provide 24/7 managed support and SLA monitoring
From pilot to production, Syone ensures your Zabbix deployment is reliable, secure, and optimized.
Learn more about our Zabbix services or contact our experts for a tailored deployment plan.