Anybody who has ever been involved with the infrastructure, knows how vital a monitoring system is. And we are not an exception. Over the years, we have worked with a variety of monitoring systems, but so far, Zabbix is the greatest of them all, as far as we are concerned.
Zabbix shares common functionality with all the other monitoring systems. Some things it does better. Some things it does on par with other systems. And maybe it is even missing some of the features that other people consider important.
We love Zabbix not for any one particular feature, but for a combination of those that we consider necessary. Let’s look at some of these.
Web Interface and API
Zabbix comes with the web interface out of the box. It might not be the most polished or intuitive, but it works great once you get used to it. And this web interface covers both the day-to-day use of the monitoring system, as well as full administration functionality.
Not every monitoring system provides a web interface, and of those that do, not all cover the system administration part. Nagios, for example, still relies mostly on the configuration files to manage the system.
Zabbix web interface expands from the simple configuration and listings to a variety of graphical elements, such as:
- graphs and charts, both simple and combined
- collections of graphs, called screens
- collections of screens, called sliders
A lot of the functionality that is available via the web interface can also be accessed via the API. This helps to automate and integrate Zabbix with the rest of the infrastructure.
Zabbix server, Zabbix proxy, Zabbix agent
Zabbix provides a number of ways to collect and route monitoring data. At the center of it all is the Zabbix server. Zabbix server can gather data all by itself. But it often happens that the monitoring system needs to gather data from devices which are in other network segments, and behind firewalls.
That’s where Zabbix proxy comes to the rescue. Zabbix proxies are usually installed within those networks which are directly inaccessible to the Zabbix server. They can then collect the monitoring data and pass it on to the Zabbix server.
Zabbix agent is a tiny service that is usually installed on all the machines that need monitoring. Zabbix agent is available for a wide range of operating systems. It helps to reduce the strain on the machine, especially when monitoring a large number of metrics at high frequency.
Notifications and alerts
Zabbix has a very flexible control of notifications and alerts. Different users and groups can be notified via a variety of different channels about different problems. We have previously used email, SMS (thanks Clickatell), Slack, and even automated phone calls to notify and alert users.
Flapping (a frequent change of states for a particular trigger) is easy to configure, but it doesn’t come out of the box, like, for example, with Nagios.
A recent release of Zabbix 4.2 introduced the support for HTML emails, which is a great help with non-technical users.
Zabbix has an excellent set of features for automatic discovery of new devices. For example, it can periodically ping a range of IP addresses and discover new hosts which respond to ICMP pings. Or it can also scan a range of IP addresses for particular ports and protocols.
Administrators can create flexible rules with actions defining what needs to be done when a new host or service is discovered. This makes life a lot easier with larger infrastructure setups.
Community and documentation
Zabbix has been around for a long time now. And it is also quite popular. This means that there are many extensions to monitor a wide variety of hardware and software. And there’s a lot of information online, with tricks, tips, suggestions, and problem resolutions.
Zabbix has excellent documentation. There are also several books available in a variety of languages.
Zabbix is also actively developed and maintained, with new versions coming out frequently.