Zabbix in 15 minutes with Telegram alerts
Self-hosted Zabbix on a VPS, with incidents going straight to your team channel — no paid SaaS required.
Most small teams pay US$ 20–50 per host for monitoring SaaS because they assume Zabbix is hard to set up. It isn’t. Here’s the recipe we use.
1. Minimal Docker compose
We run zabbix-server-pgsql + zabbix-web-nginx-pgsql + postgres:16 in a single compose file. Total footprint: ~250 MB image, 200 MB idle RAM, 1 GB disk in the first month.
2. Host auto-discovery
Instead of registering each VPS manually, we set a discovery rule against the Hetzner private network IP range. New hosts appear in Zabbix without anyone lifting a finger.
3. Telegram alerts
Telegram bot + Zabbix webhook. Severity ≥ “high” sends a message with a direct link to the 1h graph. “Average” only during business hours. “Information” stays in history with no alert.
4. Templates that matter
- HTTP service per public endpoint (with SSL expiry)
- Postgres connection count + lock wait
- Docker container running (via socket)
- Disk and swap per host
Done. 15 minutes.