Java Application Server (SNMP)

This template assesses the overall performance of Java Application Servers using the SNMP protocol. It supports the following application servers:

  • Apache Tomcat
  • JBoss
  • GlassFish
  • IBM WebSphere
  • Oracle WebLogic

To learn how to use SAM templates like this one, see Manage application monitor templates in SAM.

Prerequisites for Orion agent for Linux

If using the Orion agent for Linux for monitoring, you may need to complete additional configurations. See Configure Linux/Unix systems for use with SAM templates and component monitors.

If using SNMP v2, the Orion agent for Linux automatically configures SNMP. If using SNMP v3, see SNMP for agents.

Prerequisites for agentless monitoring

SNMP is enabled on the target server.

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

Credentials

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

Component monitors

For details on monitors, see SAM component monitors.

Some components may not have preset warning or critical threshold values. You can add your own threshold limits as necessary. To learn more, see Set thresholds.

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()