Enterprise monitoring using JMX

Hello,

So, my company has a lot of J2EE/Tomcat servers running on java 1.6. I'm trying to find a way to monitor them all via JMX from a centralized system, which would be accessible to multiple users (web based, ideally).

Based on my understanding of JMX, it should be possible to extract the data we need from each JVM. I have been using JConsole to do this on an ad-hoc basis when we have problems with a particular JVM and it's great.

But I can't seem to find any good software for doing enterprise-wide monitoring and long-term data collection... can anyone suggest a good package, either free/open-source (ideally) or commercial?

Basically, I want to be able to:

* collect CPU, memory, DB (hibernate), HTTP request stats, etc. via JMX and archive it

* view graphs of the above

* ideally, we could also receive email alerts if certain conditions were met, e.g. memory almost full.

As a side note:

We're already using Zenoss (http://www.zenoss.com) to monitor the OS-level stuff and we really like it, but we need more visibility into each JVM (we have multiple JVMs per physical server). As far as I can tell, Zenoss doesn't support JMX monitoring... but has anyone found a way to make this work? If so, I'd love to hear about it, since this would be ideal for me.

[1337 byte] By [pmelicia] at [2007-11-27 9:36:18]
# 1
I forgot to mention that we want to implement custom application-specific MBeans, which would be relatively cumbersome to expose via SNMP - which is why I'm searching for a JMX oriented solution, as opposed to monitoring the JVMs via the built-in SNMP agent.
pmelicia at 2007-7-12 23:05:04 > top of Java-index,Core,Monitoring & Management...
# 2

The company I work for has a commercial product, and does all you are looking for. We provide agents for most app servers and servlet containers, as well as JMX Remote monitoring capability to any vm. We don't yet provide web based console, but will have one soon. Currently it's swing.

http://tidalsoftware.com/Learning%20Center/Data_Sheet_Intersperse.asp

I'm a bit biased towards ours, but there's also competing products, from Wily, Quest, and others. I'm not familiar with any open source projects that do data capture, graphing, and alerting, but I'm sure there has to be at least one out there.

Alper

aakturea at 2007-7-12 23:05:04 > top of Java-index,Core,Monitoring & Management...
# 3

You may want to have a look at Glassbox, an open source troubleshooting agent for pinpointing problems in Enterprise Java applications.

http://www.glassbox.com

It offers both JMX and web-based access to the collected data but I'm not sure the web-based console allows you to present the collected data graphically. But still you could write your own JConsole plugins and display the collected

data coming from Glassbox and your own custom MBeans in a graphical way but of course JConsole is Swing-based.

Have a look at the JavaOne 2007 Hands-On Lab 1420 to get more detailed info about using Glassbox/JMX/JConsole together.

http://blogs.sun.com/lmalventosa/entry/j1_07_hol_1420

Regards,

Luis-Miguel Alventosa

Java SE JMX/JConsole development team

Sun Microsystems, Inc.

http://blogs.sun.com/lmalventosa/

lmalventa at 2007-7-12 23:05:04 > top of Java-index,Core,Monitoring & Management...
# 4

Hi,

You might also be interested in this link which explains how to retrieve the

JVM Management and Monitoring information programmatically:

http://blogs.sun.com/jmxetc/entry/how_to_retrieve_remote_jvm

best regards,

-- daniel

JMX, SNMP, Java, etc...

http://blogs.sun.com/jmxetc

dfuchsa at 2007-7-12 23:05:04 > top of Java-index,Core,Monitoring & Management...