Typically JVMs are monitored by using remote JMX monitoring tools. There are signficant problems wth this approach. Examples: how do you monitor a farm of JVMs without having and administrative headache of setting up remote JMX configurations, ports, SSL, etc etc. With all the talk about cyber security, JMX remote connectivity opens up a way for hackers to exploit these administrative ports.
PingJMX, open source JMX streaming framework, allows a developer accomplish just that. PingJMX allows developers to stream JMX metrics form JVM out to the central location, or any other destionation.
For more information see:https://nastel.github.io/PingJMX/
Here are some of the features of PingJMX:
- Periodic JVM heartbeat* Monitor memory utilization, GC activity, memory leaks
- High/Low, normal vs. abnormal CPU usage
- Monitor threading, runtime and other JVM performance metrics
- Monitor standard and custom MBean attributes
- Conditional actions based on MBean attribute values
- Conditional streaming based on custom filters* Application state dumps on VM shutdown for diagnostics
PingJMX project is opne source and released under Apache 2 license.