When managing custom Java applications hosted inside WebSphere Application Server, what JMX metrics do you find most useful for monitoring performance, monitoring availability, and troubleshooting problems? And how do you prefer to slice and visualize those metrics (e.g. chart by top 10 hosts, graph by app, etc.).

The more details I can get, the better, as I need to specify a standard set of reports which IT can offer to owners of applications hosted by IT, which those owners can customize but many won't bother. So I'll need to come up with a bunch of generally-applicable reports which most groups can use out-of-the-box.

Obviously there's no one perfect answer to this question, so I'll accept the answer with the most comprehensive details and I'll be generous about upvoting any other useful answer.

My question is WebSphere-specific, but I realize that most JMX metrics are equally applicable across any container, so feel free to give an answer for JBoss, Tomcat, WebLogic, etc.


There are a lot of metrics you could monitor.

Some general metrics are:

  • Heap Usage + Perm Gen Usage
  • CPU Usage per Process
  • Number of Full GCs for a given time
  • Ratio between JVM uptime and GC times

These metrics give you a good hint about how the application works and how memory efficient it is. These metrics only make sense for your customers when each application has its own process. But they are definitely very valuable for you.

More application specific:

  • Number of accesses
  • Number of available and busy threads
  • Number of available and busy DB (or other backend) connections

I graph part of these numbers with pnp4nagios in our monitoring system. It is not designed for reporting, but you could also use the graphs for reporting

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.