I am interested in setting up JMX monitoring with minimal configuration as possible. In VisualVM or in JConsole a lot of metrics are shown just by connecting to the JMX server. I would like to store those (important ones) and setup an alarm when they cross a particular threshold.
I have looked into OpenNMS, Nagios, Splunk and Zenoss so far. None of them have the out of box experience. At this point I am more interested in getting work done (I am a Dev guy who moonlights in Ops)
Edit: By out of the box I meant, no need for installing plugins (like Splunk or Zabbix). No clunky configurations (like in OpenNMS). Some thing that just works by minimal effort, give in your jmx url and password and baaam!
The next version of Zabbix (2.0) contains JMX support natively. Version 1.9.8 is the third beta before the 2.0 release and can be found here: http://www.zabbix.com/download.php.
Also there is a JMX bridge available for Zabbix 1.8 and 1.6, Zapcat.
Nagios doesn't do any monitoring "out of the box" - it's just a scheduling and reporting engine. Everything is implemented via add-ons. In the case of JMX, there is a choice of tools.
While Nagios (justifiably) has the largest installed user-base of any open-source monitoring system (perhaps even all monitoring systems) it does have some limitations - it's great for scheduling, reporting against SLAs and integrating with custom probes, it's not so good for trend / capacity monitoring and performance testing; if you might want more functionality in future, then I'd suggest having a look at cacti or zenoss.