Nagios works well when it works for you.
However nagios is very difficult to set-up. The person using nagios for the first time is left with a bewildering task of learning a very complex system without a good example. Nagios has no good configuration tool that is part of it's own native code. Groundwork, a third party company, has released two excellent nagios configuration tools that make nagios useful for even the first time user. However they are for early versions of nagios, and are not integrated, so they become useless over time. Groundwork no longer develops their package, and it is not part of the nagios package development, so those advances are being lost to time.
Nagios is a great tool, sort of like c++ is a great tool... But not all of us can be c++ programmers, nor can we all spend 6 months of our life trying to figure nagios out. The nagios team doesn't care about new users, there is no good forum support, the official support channel is a mailing list with one thread... with no searchable archive that I have found. the one nagios forum is down more than it is up, and it is not in existance any more according to the nagios wiki... In short, nagios is hard to learn, and there is no useful support. I set up nagios using the groundwork monarch tool, a great combination... too bad monarch is no longer being developed. Once I had my config files, it was "easy" to maintain... but only easy as compared to creating a config from scratch. Nothing about nagios is ever really easy...
maintenance is only easy to the person that set it up.
For being free software, nagios is extremely expensive. By that I mean it takes a tallented person to set it up, and maintain it, and it takes a lot of that person's time. So if you must consider the cost of the person building your nagios system, then it is far too expensive as compared to something with a user interface for configuration. the Nagios developers are programmers, and they don't care that only programmers can use it.
If a car was built like nagios, it would come as a block of steel, and lumps of rubber and plastic, and it would be up to the driver to carve and hammer the steel into the shape of a car. Nagios is not a "get in and just drive" system.
Zabbix is better because a user can learn to use it in a small number of days, and end up with a more complete tool when he is done. Zabbix combines several tools that are left out of nagios. Sure, you can try and integrate nagios with things like cacti, or rrd... But those integrations often fall apart when you update nagios or the other tools... so a "complete" nagios system that actually compares to zabbix on a feature level is difficult to create and maintain.
If Zabbix was a car, it would be like a car on a dealer's lot. You need to know how to drive, you need to maintain it a bit... But for the most part it is a get in and drive type of system... Once you have it installed.
Nagios can do anything zabbix can do, but only because an engineer can put in time to make it happen. The only hard part about zabbix is the installation.
I say this after spending years with nagios, and about 4 hours with Zabbix. I have not mastered Zabbix yet, but I can already see that it is better. Zabbix has the best features of monarch, nagios and cacti combined, and then even more features added to that. You still have to learn how it works, there is no avoiding that, but it is an easier task than any system with half of the features. The cool thing to me is that it can be configured to self-configure. I have a network of over 1000 broadband users. Zabbix can be configured to add and remove users on it's own, and that config is 1000% easier than the best nagios under monarch was able to do.
Now Zabbix is great, but it still has some issues. For example, I set it to discover my broadband network, but it is using the "public" snmp community string instead of the correct string I gave it... But that is likely just a bug that will get fixed (or I did something wrong). Nagios has even bigger bugs.
Nothing is perfect, but Zabbix is closer than anything else. And I say that as someone that has been monitoring unix systems and networks since 1987. In the old days we did things that hard way... We wrote out own scripts, we had no web interface, and sending email and text messages required you to develop the code to do those functions. Interestingly, writing your own monitoring scripts is actually easier than setting up nagios. And if you can't write monitoring scripts yourself, you probably can't set up nagios.
The easiest system to set up, of all time, was big brother. Big Brother had a simple, easy to unserstand, config file. It had no configuration gui when I used it, in the late 1990's, but it took only a couple of hours to set-up a complex network. the config file was little more than a list of machines that looked a lot like a DNS zone file, so copying your DNS zone files into it was a good place to start. But big brother was limited in many ways, and has gotten worse now that it is commercial... In fact it is no longer very good any more. Nagios tried to better big brother, as Net Saint... but they missed the mark in several ways when they made the config too complex.
Zabbix is the modern system, written by people that have obviously used many or all of the systems I describe here. I see influences of each of the other systems inside of Zabbix. So Zabbix is an evolutionary advancement over the likes of Nagios. Zabbix is to Nagios as a 747 is to an early biplane.
Both are good, both fly, but one is more advanced than the other... one is faster, and does more.
George
I have used Nagios for several years and Zabbix for about half a year.
My view on it: Zabbix is GREAT for data collection and one centralized solution but it is challanged in several places:
- Scheduling up/downtimes - pretty much impossible right now.
- Notifications. In my opinion, notifications should be a completely separate thing from actions.
- soft/hard trigger states - a very important Nagios feature that I would LOOOOOOVE to see in Zabbix.
- In my opinion, separation of triggers by severity is a big mistake: it adds unnecessary complexity and is completely unnatural. Multi-state triggers would have been a far better thing
BTW, Zabbix being GPL software and all, is anybody interested in creating a fork?