Zabbix
Zabbix is an open-source monitoring platform for networks, servers, cloud services, and applications. It collects metrics through agents, SNMP, IPMI, and agentless checks, then provides alerting, visualization, and dashboards from a single web frontend. This image ships the Zabbix server, web frontend, and agent with a MySQL backend on Apache.
Software included
Section titled “Software included”| Component | Version |
|---|---|
| Zabbix | 7.0 (LTS) |
| MySQL | 8.0 |
| Apache | 2.4.x |
| Ubuntu | 24.04 LTS |
Requirements
Section titled “Requirements”| Resource | Minimum | Recommended |
|---|---|---|
| vCPU | 2 | 4 |
| RAM | 2 GB | 4 GB |
| Storage | 30 GB | 60 GB |
Environment variables
Section titled “Environment variables”This image takes no deploy-time variables. It creates no shared administrator password. Zabbix ships
with a default Admin password, and first boot replaces it with a value unique to your VM.
Getting started
Section titled “Getting started”1. Connect to your VM
Section titled “1. Connect to your VM”ssh ubuntu@<your-vm-ip>2. Wait for first-boot configuration
Section titled “2. Wait for first-boot configuration”On the first boot, a setup script initialises MySQL, imports the Zabbix schema, writes the frontend
configuration, starts the services, and rotates the default Admin password. Track progress:
journalctl -u zabbix-first-boot.service -fThe login message (MOTD) confirms when Zabbix is ready.
3. Retrieve the admin password
Section titled “3. Retrieve the admin password”The credentials are written to a root-only file:
sudo cat /root/.credentials/zabbix.txt4. Open the web frontend
Section titled “4. Open the web frontend”Open a browser and navigate to:
http://<your-vm-ip>/zabbix/Sign in as Admin with the password from the previous step.
Managing Zabbix
Section titled “Managing Zabbix”# Check statussudo systemctl status zabbix-server apache2 mysql
# Restart the serversudo systemctl restart zabbix-server
# View logssudo tail -f /var/log/zabbix/zabbix_server.logServer configuration lives in /etc/zabbix/zabbix_server.conf and the frontend configuration in
/etc/zabbix/web/.
Security
Section titled “Security”Port 80 (web frontend) and port 10051 (Zabbix server, used by agents to report in) are open on the VM’s network interface. UFW is enabled and allows those ports plus SSH (port 22).
To restrict the web frontend to a specific IP:
sudo ufw delete allow 80/tcpsudo ufw allow from <trusted-ip> to any port 80For production use, point a DNS record at the VM and front Apache with TLS, either with your own certificate or a reverse proxy that terminates TLS.