References > Template Reference > Java Application Server (SNMP)

Java Application Server (SNMP)

This template assesses the overall performance of Java Application Servers by using SNMP protocol. The following application servers are supported: Apache Tomcat, JBoss, GlassFish, IBM WebSphere and Oracle WebLogic. You can use the Orion agent for Linux or SNMP agentless to monitor.

Prerequisites for Orion agent for Linux

If using Orion agent for Linux for monitoring, you may need to complete additional configurations. If using SNMP v2, the Orion agent for Linux automatically configures SNMP. If using SNMP v3, see SNMP for agents.

Prerequisites

SNMP enabled on the operating system. Target JVM configured to allow SNMP queries.

This template is configured to send SNMP requests on port 1161.

Credentials

None. The template uses the SNMP public string assigned to the node.

Monitored Components

For details on monitors, see SAM Component Monitor Types.

Some components may not have preset warning or critical threshold values. You can add your own threshold limits as necessary.

Classes Loaded Count

Indicates the number of classes currently loaded in the JVM.

For more information, reference the following Java method: java.lang.management.ClassLoadingMXBean.getLoadedClassCount()

Classes Total Loaded Count

Indicates the number of classes that have been loaded since the JVM was started.

For more information, reference the following Java methods: java.lang.management.ClassLoadingMXBean and getTotalLoadedClassCount()

Classes Unloaded Count

Indicates the number of classes that have been unloaded since the JVM was started.

For more information, reference the following Java method: java.lang.management.ClassLoadingMXBean.getUnloadedClassCount()

Memory Pending Final Count

The approximate number of objects that are pending finalization. This should be as low as possible.

For more information, reference the following Java methods: java.lang.management.MemoryMXBean. and getObjectPendingFinalizationCount()

Memory Heap Init Size (B)

The amount of memory (in bytes) that the JVM initially requests from the operating system for memory management used for heap memory pools.

For more information, reference the following Java method: java.lang.management.Me and moryMXBean.getHeapMemoryUsage() and getInit()

Memory Heap Used (B)

The amount of used memory (in bytes) from heap memory pools. This should be as low as possible.

For more information, reference the following Java method: java.lang.management.MemoryMXBean.getHeapMemoryUsage() and getUsed()

Memory Heap Committed (B)

The amount of memory (in bytes) committed by heap memory pools.

For more information, reference the following Java methods: java.lang.management.MemoryMXBean.getHeapMemoryUsage(). and getCommitted()

Memory Heap Max Size (B)

The maximum amount of memory (in bytes) for all heap memory pools.

For more information, reference the following Java method: java.lang.management.Me and moryMXBean.getHeapMemoryUsage() and getMax()

Memory Non-heap Init Size (B)

The amount of memory (in bytes) that the JVM initially requests from the operating system for memory management for non-heap memory pools.

For more information, reference the following Java method: java.lang.management.MemoryMXBean.getNonHeapMemoryUsage() and getInit()

Memory Non-heap Used (B)

The amount of used memory (in bytes) from non-heap memory pools. This should be as low as possible.

For more information, reference the following Java method: java.lang.management.MemoryMXBean.getNonHeapMemoryUsage() and getUsed()

Memory Non-heap Committed (B)

The amount of memory (in bytes) committed by non-heap memory pools.

For more information, reference the following Java methods: java.lang.management.MemoryMXBean and getNonHeapMemoryUsage() and getCommitted()

Memory Non-heap Max Size (B)

The maximum size of memory (in bytes) for all non-heap memory pools.

For more information, reference the following Java method: java.lang.management.MemoryMXBean.getNonHeapMemoryUsage() and getMax()

Memory Garbage Collections Count

The number of collections that have occurred, as returned by GarbageCollectorMXBean.getCollectionCount()

If garbage collection statistics are not available, this object is set to 0.

For more information, reference the following Java method: java.lang.management.GarbageCollectorMXBean.getCollectionCount()

Memory Garbage Collection Time (ms)

The approximate accumulated collection elapsed time (in milliseconds) since the Java virtual machine has started. This object is set to 0 if the collection elapsed time is undefined for this collector.

For more information, reference the following Java method: java.lang.management.GarbageCollectorMXBean.getCollectionTime()

Memory Pool Init Size (B)

The initial size of the memory pool. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management.MemoryPoolMXBean.ge and tUsage() and getInit()

Memory Pool Used (B)

The amount of used memory in the memory pool. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID. This should be as low as possible.

For more information, reference the following Java method: java.lang.managem and ent.MemoryPoolMXBean.getUsage() and getUsed()

Memory Pool Committed (B)

The amount of committed memory in the memory pool. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management.MemoryPoolMXBean.getUsage()

getCommitted()

Memory Pool Max Size (B)

The maximum size of the memory pool. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management.MemoryPoolMXBean.getUsage() and getMax()

Memory Pool Peak Used (B)

The amount of used memory in the memory pool at the peak usage point. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management. and MemoryPoolMXBean.getPeakUsage() and getUsed()

Memory Pool Peak Committed (B)

The amount of used memory in the memory pool at the peak usage point. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management.MemoryPoolMXBean.getPeakUsage() and getCommitted()

Memory Pool Peak Max Size (B)

The maximum size of the memory pool at the peak usage point. This counter shows statistics for the first memory pool. If another pool needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management. and MemoryPoolMXBean.getPeakUsage() and getMax()

Threads Total Started Count

The number of threads created and started since the Java Virtual Machine started. This counter shows statistics for the first thread. If another thread needs monitoring, change the last digit of the OID.

For more information, reference the following Java method: java.lang.management.ThreadMXBean.getTotalStartedThreadCount()

Thread Instant Blocked Count

The number of times that this thread has blocked the “to enter” or “re-enter” monitor. This counter shows statistics for the first thread. If another thread needs monitoring, change the last digit of the OID.

For more information, reference the following Java methods: java.lang.management.ThreadMXBean.getThreadInfo(long,boolean)AndgetBlockedCount()

Thread Instant Blocked Time (ms)

The approximate accumulated elapsed time (in milliseconds) that a thread has blocked the “to enter” or “re-enter” monitor since it has started, or since thread contention monitoring was enabled.

This object is always set to 0 if thread contention monitoring is disabled or not supported. This counter shows statistics for the first thread. If another thread needs monitoring, change the last digit of the OID. This should be as low as possible.

For more information, reference the following Java method: java.lang.management.ThreadMXB and ean.getThreadInfo(long,boolean) and getBlockedTime()

Thread Instant Wait Count

This counter shows the number of times that this thread waited for notification. It also shows statistics for the first thread. If another thread needs monitoring, change the last digit of the OID.

For more information, reference the following Java methods: java.lang.management.ThreadMXBean.getThreadInfo(long,boolean) and getWaitedCount()

Thread Instant Wait Time (ms)

The approximate accumulated elapsed time (in milliseconds) that a thread has waited for a monitor through a “java.lang.Object.wait” method since it has started, or since thread contention monitoring was enabled.

This object is always set to 0 if thread contention monitoring is disabled or not supported. It also shows statistics for first thread. If another thread needs monitoring, change the last digit of the OID. This should be as low as possible.

For more information, reference the following Java methods: java.lang.management.ThreadMXBean.getThreadInfo(long,boolean) and getWaitedTime()

Runtime Input Arguments Count

This is the number of input arguments passed to the Java Virtual Machine.

For more information, reference the following Java method: java.lang.management.RuntimeMXBean.getInputArguments()

Runtime Uptime (ms)

This is the uptime of the Java virtual machine (in milliseconds). This is equivalent to (System.currentTimeMillis() - jvmStartTimeMs).

For more information, reference the following Java methods: jvmRTStartTimeMs.:java.lang.management.RuntimeMXBean.getUptime()

Compiler Time (ms)

This gets the approximate accumulated elapsed time (in milliseconds) spent in compilation since the Java virtual machine has started. If multiple threads are used for compilation, this value is the summation of the approximate time that each thread spent in compilation. If compiler time monitoring is not supported, then this object remains set at 0.

For more information, reference the following Java method: java.lang.management.CompilationMXBean.getTotalCompilationTime()