i've been looking at some floss network monitoring systems lately. here are some quick notes.
Criteria (not necessarily in this order)
- LDAP authentication
- Web interface / User friendliness / Operator retraining
- Distributed monitoring
- Redundancy
- Documentation
- Community support, mailing lists
- Flexibility -- how easy is it to create custom monitors?
- LDAP integration? (computer groups, contacts)
Software
- OpenNMS
- Zabbix
- Zenoss
- Nagios/GroundWork
1. OpenNMS
OpenNMS aims to be 100% Java, uses Tomcat, GWT, AJAX, XML, PostgreSQL, intends to implement SOA
cons:
- complex, error-prone installation -- could not get to work on RHEL5; downgraded to RHEL4.
- not configurable through web interface
- xml config files are really more complex than they need to be
- possibly unstable? coworker was able to generate an exception after playing w/ it for 5 minutes
- custom plugins are relatively difficult to write, and they discourage using any language besides java.
- documentation is rather poor: not well written, and had to gather info from different parts of web site and wiki
pros:
- good use of SNMP
- can use nagios plugins with nrpe monitor
2. Zenoss
Zenoss is written in python, using the zope framework and MySQL
cons:
- can distribute collection agents, but does not support distributed servers in the same way Zabbix does
- I am not really familiar with python or zope
pros:
- very easy to install using rpm. also can check for its own updates online.
- everything configurable through web interface
- excellent use of SNMP and WMI; no need to install separate agent on linux or windows
- can make use of nagios plugins, and custom plugins are easy to write in any language
- clean, object oriented design
- ui is pretty!
3. Zabbix
Zabbix has a PHP front end, can use MySQL, PostgreSQL, Oracle, or SQLite
cons:
- not hard to install, but have to compile it yourself
- has its own agent that must be compiled for each type of host to be monitored (RHEL4-5, Solaris 8-10, Windows) -- maintenance nightmare
pros:
- does distributed monitoring
- most things configurable through web interface
- nice looking ui
4. GroundWork -- haven't tried yet, but based on nagios, which I have used...
cons:
- seems somewhat naive, like snmp was an afterthought rather than a central part of the design from the start?
- vanilla nagios ui is kind of ugly. maybe GroundWork is better.
pros:
- decent oo design (again referring to system abstractions rather than code)