We are doing monitoring of our apps using ManageEngine Applications Manager. It supports JMX remoting. The latest patch release supports composite types. Very nice.
Right now Glassfish is the new kid on the block. Support for it is not yet baked in to Applications Manager (but will be, according to their product manager). In the meantime you can use generic JMX monitoring to monitor it.
The glassfish domain defaults do not work for remote monitoring. After a bit of playing around I got it to work.
You need to add the following to your domain.xml configuration in Glassfish:
Add these to the java-config element:
Add this to the admin-service element.
<jmx-connector accept-all=”true” address=”0.0.0.0″ auth-realm-name=”admin-realm” enabled=”true” name=”system” port=”8687″ protocol=”rmi_jrmp” security-enabled=”false”/>
Not sure exactly which change fixed it. But this config works.
In Applications Manager you do the following(example only):
Host Name / IP Address: developer249
Port: 8687
Polling Interval: 1
JNDI Name: /jmxrmi
Authentication is enabled: X
User Name: admin
Password: password
The same thing works for the jconsole and should work for NMS’s that support JMX. Enjoy.