Why We Switched from Icinga to Zabbix
At Kartaca, we use an open-source application called Icinga within the system monitoring tool we have developed for internal use. This tool, named Watchman, helps us check whether our systems are up and running and notifies when it is not working or giving errors by generating alerts. It can notify us via SMS, email, and instant messaging. At the same time, it helps us visualize the past data and learn why any problem might occur. Therefore, we can be made aware of both the problem and the source of the problem in a short time.
Now we want to leave Icinga and use another open-source application called Zabbix. So why did we give up Icinga, and why do we want to move to Zabbix? Let’s summarize with a small table; then, we explain.
|Includes ready-made controls|
|Has advanced visual features (graphics)|
|Has a customizable interface|
|Has user authorization feature|
|Has autodiscovery feature|
|Adding control requires writing scripts|
|Needs additional app. to create graphics|
|Has a read-only interface|
|Has no user authorization feature|
|Has no autodiscovery feature|
One of our main reasons is that with Icinga, when we want a new feature, this can only be done with 3rd party applications, and this increases our costs. Whereas, in Zabbix, there are ready-made controls. We can implement those controls without the need to write scripts.
The second reason; Icinga needs a separate application for drawing graphs that show changes in monitored systems, whereas Zabbix offers a collection of tracking and graphics features together. It also creates real-time graphics and refreshes the data in predefined 30 seconds. It is much easier and faster to see where the tracked machine goes with Zabbix.
Icinga’s web interface is mostly read-only. It shows the status of the servers, but it cannot compare servers and generate data. In Zabbix’s advanced web interface, it is possible to create dashboards and control panels and view the systems on a single large screen. It is also possible to compare selected systems by visualizing. After the read-only structure of Icinga, this feature of Zabbix makes it much easier to collect data about servers. Besides, the Icinga web interface does not have a user/group authorization feature. Zabbix’s secure user authentication feature allows users to define permissions and authorizations. Certain users can only access certain features. It is much better than Icinga and helps to make our systems more reliable.
In addition to all this, thanks to the autodiscovery feature Zabbix has, we can automatically add and activate hosts in predefined IP ranges, identify ranges to be deleted, assign hosts to the relevant host groups based on products, and connect to controls based on the products. When there are many systems to monitor, it is tough to do it without automation. So this helps us.
There are two other features we want to use; phone call alerts and escalation. We want to be notified via phone calls when there is a status change in the monitored systems, and we want “Watchman” to escalate and alert a top-level manager if the notified person doesn’t take action quickly. (Icinga supports escalation, but the implementation is hard.)
Zabbix has many features as a monitoring application and is designed to make it easier for the user. It seems to be worth the effort to switch Watchman from Icinga to Zabbix.