Zabbix is an open-source monitoring platform for networks, servers, virtual machines, and cloud services. It collects metrics via SNMP, IPMI, JMX, and custom agents, then stores the data in a relational database and provides alerting, visualization, and reporting through a web-based frontend.
Alexei Vladishev created Zabbix in 2001 and released the first stable version (1.0) in 2004. The project is developed by Zabbix LLC (SIA Zabbix), based in Riga, Latvia. The server and agent are written in C, a newer agent (agent2) in Go, the web frontend in PHP, and a Java gateway handles JMX monitoring. Beginning with version 7.0 (June 2024), Zabbix is licensed under the AGPLv3; earlier versions used the GPLv2.
Vladishev started Zabbix in 2001 as an internal monitoring tool. The first public stable release, version 1.0, appeared in 2004. Version 1.1 followed later that year; subsequent development adopted a convention of odd numbers for development branches and even numbers for stable releases, so 1.3 was the development branch that became 1.4.
Version 1.8 (December 2009) added auto-discovery and auto-registration of hosts. Version 2.0 (May 2012) introduced a screen-based dashboard system and improved template inheritance. Version 3.0 (February 2016), the first long-term support (LTS) release, added encryption for agent-server communication and predictive trigger functions.
Version 4.0 (October 2018) introduced the Zabbix agent2 written in Go, with concurrent check execution and a plugin architecture. Version 5.0 LTS (May 2020) added a monitoring proxy for distributed environments and a redesigned SAML authentication system. Version 6.0 LTS (February 2022) added high-availability clustering for the Zabbix server, Kubernetes monitoring, and a machine-learning-based anomaly detection function.
Version 7.0 LTS (June 2024) changed the license from GPLv2 to AGPLv3 and added browser-based synthetic monitoring, an improved API, and a new proxy load-balancing mode.
The Zabbix server collects data from agents and other sources, evaluates trigger conditions, sends alerts, and stores data in a relational database. Supported databases include PostgreSQL, MySQL/MariaDB, Oracle, and TimescaleDB (as a PostgreSQL extension for time-series optimization). For distributed monitoring, Zabbix proxies collect data at remote sites and forward it to the central server, reducing bandwidth and providing local buffering if the connection is interrupted.
The original Zabbix agent (written in C) runs on Linux, Unix, Windows, and macOS, collecting system metrics such as CPU, memory, disk, and network statistics. Agent2 (written in Go) supports the same platforms and adds a plugin system for extending data collection to databases, message queues, and cloud APIs without writing external scripts.
Zabbix supports multiple data collection protocols:
Zabbix uses templates to define sets of items, triggers, graphs, and discovery rules that can be applied to hosts. Low-level discovery (LLD) automatically detects and monitors new resources such as network interfaces, file systems, or database instances without manual configuration.
The web frontend, written in PHP, provides dashboards, maps, screens, and reports. A JSON-RPC API allows programmatic access to all Zabbix objects for automation and integration with external systems.
Zabbix is used in financial, telecommunications, and government environments. The Bank of China uses Zabbix with a TiDB scale-out database to monitor its infrastructure. Zabbix LLC holds an annual Zabbix Summit conference and maintains a network of certified partners and training centers.
Early comparisons described Zabbix as simpler to set up than Nagios due to its template-based configuration. Later reviews noted that large deployments require significant manual configuration of triggers and thresholds.