hi,
found that thread and want to give my comments too:
I used for a long time Nagios (6 years), than Icinga1 (5 years) (old company) (with pnp4nagios / nagvis / Centreon / check_mk ...) and since a few month Icinga2 as private monitoring. At my new company we use Zabbix (2.2 than 2.3) as the primary monitoring solution. The reason why they choosen Zabbix instead of Icinga* was, that Zabbix has graphs included. I used Zabbix now for over 1 year and can say: I never hated a monitoring solution so much. Sure, the old Nagios was not the best, Icinga1 fixes a lot of problem, but Zabbix is just a pain for me
- The Interface is very annoying, because jumping all the time between config and viewing
- In a few more words: I often want to see the "problem" details and get the config, that I don't want. Also get the graph configuration, instead the graph itself. I mean: I don't like the Interface as it is not clearly what is a "view" and what is "configuration". But it is more a personal learning problem.
- Zabbix has a lot of builtin checks, that are only usable directly from the Zabbix server or Zabbix proxy itself.
- For example: all active checks like SNMP, Web scenarios and co doesn't work with the Zabbix agent. So in my cases I have to create a lot of workarounds for checks, where is no Zabbix server/proxy and it is a pain, if you have a lot of them, like SNMP with an APC or switches.
- I don't like monitoring daemons, that needs a database for working. That is an personal thing from me, because a monitoring tool should have very less dependencies. I saw a lot problems, where the database itself was the problem for many reasons. Zabbix itself has also a special problem with database partitions, as it doesn't like the summer time changes.
- Tha graphs from Zabbix looks like 2000 and it is also not possible with the GUI to create one graph with different hosts. That is only possible with the adhoc graph (can't saved) and via API.
- My favorite message: "became not supported / became supported" .... :-/
I use a lot of checks from the Nagios/Icinga side of life and included them into Zabbix because that was quite easy, instead of creating a bunch of scripts for trivial things like checking apt for updates .... Also for SNMP I use many plugins ... for other checks I giving it up to get them into Zabbix.
For our new environment with two datacenters with ~30 Proxmox server (Ceph/Hypervisor) and everything what is needed, I created a new monitoring solution with Icinga2 (Icingaweb2), Grafana and InfluxDB and Puppet is the glue. It costs me also a lot of time (man weeks now) to get everything working for all scenarios, but that solution is much faster with rolling out new checks, than Zabbix. Also the DB is only needed for getting the actual state on our
dashboard and the Icingaweb2. In the worst case, we don't need it (the core works, also with notification ...).
And what is for me also very important: the damn good and very active community around Icinga/Nagios.
So my summary is:
- As usefull monitoring solution for small systems: take a look on Monit
- For more, take a look on Wato with Icinga1 as backend and check_mk (check_mk is awesome)
- For bigger systems, use Icinga2 with Icingaweb2 and the Director plugin. To get graphs, use Grafana with Graphite or Influxdb.
- Use Zabbix ony, if you like the philosophy and may Grafana too, with the zabbix-datasource to get nicer graphs.
cu denny