So, you are now looking for an open-source solution for network monitoring, aren’t you? In a previous article, we saw the comparisons between Zabbix vs OpenNMS. Most probably, you have heard about both Zabbix and Cacti as well, and now you want to know the differences between them. Or maybe you are now using one of them and want to know whether the other is a better solution. Either way, in the following article, we are going to see the comparisons between Zabbixvs Cacti to help you decide. Continue reading!
The first stable version was released in 2004. It is an enterprise-grade open-source monitoring solution for networks and applications. Its frontend is written in PHP, whereas the backend is written in C. For data storage, it uses MySQL, SQLite, PostgreSQL, Oracle, and IBM DB2. It is a cross-platform solution. Zabbix is famous for the decent performance and intuitiveness.
First released in 2001, Cacti is also an open-source network monitoring solution that is cross-platform. It is written in PHP and MySQL. It has two backends that you can choose according to which one that you need; one is a PHP script which is suitable for smaller installations, while the other is a C-based poller that is able to scale to thousands of hosts. It uses RRDtool for data logging. Cacti is known for the great graphing tools and the multi-user capabilities.
Comparison: Data Collection and Security
The first notable difference between Zabbix vs Cacti is how they collect data. Cacti uses SNMP for data collection, and thus it is often considered tedious. Getting simple data out of SNMP can be very difficult if the data is not a part of an existing MIB or if there are multiple different operating systems in the network. On the other hand, Zabbix actually puts a data collection agent directly on the host that is being monitored, allowing various capabilities that SNMP-based systems either don’t have or can’t do easily.
Zabbix is also often considered better in terms of security because it can encrypt the communication between an agent and the server. Hence, communication messages cannot be intercepted, read, or altered, and a rogue agent will not be able to impersonate a real agent.
Comparison: Data Storage
Cacti uses RRDtool for data storage. This is great because with RRDtool, Cacti can graph virtually anything that you want. Of course, Cacti has always been known for the excellent graphing features; its frontend is even able to handle multiple users with each own graph sets. Such feature makes Cacti popular among web hosting providers, who use it to display bandwidth statistics to their customers. However, this also means that Cacti has a software dependency that also needs to be constantly updated, patched, and integrated to the ecosystem.
Zabbix, on the other hand, stores all data in a relational database, which is generally easier to maintain. Zabbix also has good graphing tools. The usage is clean and simple.
|- SNMP for data collection is optional, using the client agents is generally preferred||- Relies only on SNMP for data collection|
|- Easier to setup||- More difficult to setup|
|- Better security||- SNMP is prone to security risks|
|- Easier to maintain due to using a relational database||- RRDtool creates a software dependency|
|- Solid performance especially on small and medium networks||- The graphing capabilities are useful for web hosting providers|
Zabbix has several advantages over Cacti. Zabbix does not solely rely on SNMP for data collection; instead, it can use client agents that enable better performance and security. It uses a relational database to store data.