Java application monitoring plugin
Verax NMS Java application management plugin allows easy monitoring, alerting, health check, management and performance reporting for any stand-alone Java applications (i.e. running without an application server) using Java 1.5 or higher. Applications are monitored via JMX MBeans (Management Beans).
General information view
The general view displays high level application information such as:
- Used Java Virtual Machine (JVM) information: vendor, version and bits (32 or 64).
- JVM process identifier (PID) in the operating system and JVM start time.
- Command line arguments such as Xmx or XX memory parameters and others.
- Class paths used and detailed list of Java Archives (JARs) loaded.
- External library paths (e.g. for JNI dynamic libraries or nonstandard JARs).
The memory view displays detailed application memory consumption in the JVM including:
- Totals for JVM's physical memory and swap space (used and available).
- Heap vs. non-heap memory usage: pool name, % used, initial usage, maximum usage and amount of committed memory.
- Detailed information about memory pools in the JVM: type, name, % used, initial usage, maximum usage and amount of committed.
- Detailed information about garbage collectors: name, number of collected objects, collection time and general status (valid, invalid)
- All objects requiring attention (e.g. invalid garbage collectors, excessively used memory pools) are highlighted for easy troubleshooting.
The threads view displays detailed information about application's threads of execution:
- Thread totals: number of currently running threads, maximum peak threads since start and number of daemon threads.
- Numbers of loaded and unloaded Java classes.
- Detailed summary for each threads: thread name, state (runnable, blocked, etc.), block & wait counts, CPU time and deadlock status.
- All threads that have a deadlock are marked for easy troubleshooting.
Predefined Java application monitoring templates
The plugin provides predefined templates for most commonly monitored Java application items (listed in the table below). By default Verax NMS creates default counters similar to the ones displayed by the JMX Console. Other, user-defined sensors and performance counters can be added.
|Java application monitoring templates|
|Java Heap Memory Usage|
|Java Java Loaded Class Count|
|Java Free Physical Memory Size|
|Java Free Swap Space Size|
|Java Process Cpu Time|
|Java PS Perm Gen Usage|
|Java PS Old Gen Usage|
|Java PS Eden Space Usage|
|Java PS Survivor Space Usage|
|Java PS Scavenge Collection Count|
|Java PS MarkSweep Collection Count|
|Java Unloaded Class Count|
|Java Thread Count|
|Java Daemon Thread Count|
|Java Non-Heap Memory Usage|
|GlassFish Server monitoring templates|
|GlassFish Error count per second|
|GlassFish Average web request processing time, in milliseconds|
|GlassFish HTTP web requests count per second|
|GlassFish Committed transactions count per second|
|GlassFish Roll-backed transactions count per second|
|GlassFish JVM threads count|
|GlassFish Live daemon threads count|
|GlassFish HTTP listener busy threads count|
|GlassFish HTTP listener executed tasks count|
|GlassFish Current active sessions|
|GlassFish Created HTTP sessions count per second|
|GlassFish Expired HTTP sessions count per second|
|GlassFish HTTP request count per second|
|GlassFish HTTP errors count per second|
|GlassFish Average request processing time|
|GlassFish Number of responses with status code 2xx per second|
|GlassFish Number of responses with status code 3xx per second|
|GlassFish Number of responses with status code 400 per second|
|GlassFish Number of responses with status code 403 per second|
|GlassFish Number of responses with status code 404 per second|
|GlassFish Number of responses with status code 4xx per second|
|GlassFish Number of responses with status code 503 per second|
|GlassFish Number of responses with status code 5xx per second|
|GlassFish Number of responses with a status code outside the 2xx, 3xx, 4xx, and 5xx range per second|
|GlassFish Amount of heap memory in bytes committed for JVM to use|
|GlassFish Amount of non heap memory in bytes committed for JVM to use|
|GlassFish Approximate number of objects, for which finalization is pending|
|GlassFish Amount of used heap memory in bytes|
|GlassFish Amount of used non heap memory in bytes|
|GlassFish Number of PS MarkSweep collections per second|
|GlassFish Approximate accumulated PS MarkSweep collection elapsed time in milliseconds per second|
|GlassFish Number of PS Scavenge collections per second|
|GlassFish Approximate accumulated PS Scavenge collection elapsed time in milliseconds per second|
|GlassFish Number of hits on cached file content per second|
|GlassFish Number of misses on cached file content per second|
|GlassFish Current cache size in bytes|
|GlassFish Number of cache lookup hit per second|
|GlassFish Number of hits on cached file info per second|
|GlassFish Number of misses on cached file info per second|
|GlassFish Size of mapped memory used for caching in bytes|
|GlassFish Number of cache lookup misses per second|
|GlassFish Number of current open cache entries|
|GlassFish The number of open/active connections|
|GlassFish Number of times the queue has been too full to accommodate a connection per second|
|GlassFish Number of connections currently in the queue|
|GlassFish Average number of connections queued|
|GlassFish Time (in milliseconds) spent in compilation per second|
|GlassFish Number of classes that are currently loaded in the JVM|
|GlassFish Number of classes that have been unloaded from the JVM per second|
|GlassFish Wait queue length|
|GlassFish Number of free connections in the pool.|
|GlassFish Average wait-time-duration per successful connection request|
|GlassFish Number of connections in the pool that timed out between the start time and the last sampling time|
|GlassFish Number of potential connection leaks per second|
|GlassFish Number of connections acquired|
|GlassFish Number of connections released back to the pool|