The old setup targeted Zabbix 5.4 on Ubuntu 20.04. It configured three pieces: the server collecting data, the web frontend displaying it, and an agent running on a monitored host.
Connect the server and frontend
nano /etc/zabbix/zabbix_server.conf
===>
Update DB information
nano /etc/zabbix/web/zabbix.conf.php
===>
# Update DB information, must be matched with server config above
....
# Integrate with server
ZBX_SERVER = '**your zabbix ip address or name**';
ZBX_SERVER_PORT = '10051';
ZBX_SERVER_NAME = '**your zabbix hostname**';
Example
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'monitor.example.com';
The frontend excerpt mixes explanatory notation and PHP-style assignments. It is a partial source note, not a file to paste wholesale. Server and frontend database settings must agree, while the frontend’s Zabbix server address identifies a different connection.
sudo systemctl restart zabbix-server
sudo systemctl status zabbix-server
ps -ef | grep zabbix
Configure the monitored agent
wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
apt update
apt install zabbix-agent
# If you enable firewall -> open ufw port 10050 for agent also
sudo nano /etc/zabbix/zabbix_agentd.conf
===>
Server=127.0.0.1,monitor.example.com
ServerActive=127.0.0.1,monitor.example.com
Hostname=monitor.example.com
systemctl enable zabbix-agent
systemctl restart zabbix-agent
systemctl status zabbix-agent
Server, ServerActive, and Hostname have distinct roles. Allowed server peers, active-check destination, and host identity must match the intended monitoring design. The example hostname was substituted during this rewrite; package commands retain their historical version.
A reachable agent is not a reason to expose it broadly. Network access and transport protection belong to the actual deployment’s configuration.
Verify the monitoring path
A running service and a visible dashboard do not establish that a recent metric reached the correct host, triggered the intended rule, and delivered a notification. Those are separate observations. The old screenshots are omitted because they add no configuration detail beyond the text. No packages, services, hosts, or alerts were changed here.