Zabbix has been designed to scale from small environments with a few devices to large ones with thousands of monitored devices. There are Zabbix installations out there with over 100,000 devices monitored, showing that Zabbix is able to process more than 3,000,000 checks per minute using mid-range hardware and collecting gigabytes of historical data daily.
This level of scalability is possible through the use of intelligent and efficient algorithms, which take advantage of modern hardware and software modularity that allows the division of components in different servers, resulting in superior performance.
Have remote branch offices, data centers or client sites that should be monitored, but you want to keep connection and open port count as low as possible? No problem, Zabbix distributed monitoring will handle that.
In addition to the single, central server model, Zabbix also offers easy to set up and nearly maintenance-free distributed monitoring with Zabbix proxies. The proxy has been serving Zabbix users for many years now, and it is a very robust solution.
Zabbix proxy can help with monitoring large data centers efficiently, and it can also be run on embedded hardware for smaller environments. Preconfigure a Zabbix proxy, ship it to the remote location to be plugged in - and from then on manage all the proxy configuration from the central Zabbix server.
In addition to making the monitoring of remote locations easy, proxies also help greatly with scaling for large environments.
Besides the powerful agentless monitoring, Zabbix agent offers high performance for monitoring the operating system and application-specific metrics.
Zabbix agent uses minimal CPU resources and memory and is compatible with several platforms including Linux, UNIX and Windows.
Zabbix server and Zabbix proxy use various data caching solutions, giving them great performance and reducing the load on the backend database.
The networking communication protocols in use with Zabbix are extremely efficient with their use of computing resources and bandwidth of the network, even in large scale deployments.
A primordial resource for services and enterprise applications is High Availability, so all components of Zabbix are immune to network and communication by using an efficient data buffer control.
In an enterprise environment there will be lots of aging systems that can not be easily replaced or upgraded. Forcing a monitoring agent upgrade only because the main monitoring system is upgraded is not acceptable - thus the latest and greatest Zabbix server supports all the previous agent versions back to the very first releases, dating more than 10 years ago.
Zabbix upgrading in the bounds of one major version is very easy and does not require any changes to the backend database. Upgrading from one major version to another is fully supported and procedures for proper database upgrade are supplied.
You can forget about changing multitude of configuration files and restarting services after that - almost all aspects of Zabbix are controlled through a safe and simple web interface. Of course, for more advanced operations, API is available.
Creating backups of all the configuration data and collected values is simple and can be done with standard tools and procedures - after all, everything is stored in a database.
Access to the Zabbix frontend can be done through an SSL protected connection, ensuring security between users and server. In addition, the frontend has a self-protection against brute force attacks.
All components of Zabbix can run as unprivileged users - which is especially important for the native agents. Even more, running Zabbix daemons under a privileged account requires extra steps. The components communicate with each other and only accept connections from authorized IP addresses, other connections are automatically rejected.
With encryption support it is possible to secure communications between separate Zabbix components (such as Zabbix server, proxies, agents and command-line utilities) using Transport Layer Security (TLS) protocol v.1.2. Certificate-based and pre-shared key-based encryption is supported. Encryption is optional and configurable for individual components.
Zabbix API offers unprecedented flexibility to perform two-way integration with enterprise applications easily. Automation can be done by scripts in various languages like Ruby, Python, Perl, PHP, Java or shell scripts. Integrate with standard system management tools like Puppet, cfengine, Chef, bcfg2 and others, or make Zabbix configuration automatically updated from your inhouse management tools.
For the Zabbix frontend, authenticate user logins against a central authority like LDAP (including Microsoft Active Directory) or Radius, allowing them to use the same password for monitoring system as everywhere else, or even automatically gaining proper permissions using SSO (Single Sign On).
With IPv4 segments running out quite rapidly, larger ISPs are more and more looking into IPv6.
All Zabbix components support both IPv4 and IPv6, allowing for use in a mixed environment or pure IPv6 environment.