Documentation forServer & Application Monitor

JBoss (JMX)

This SAM template monitors JBoss server statistics by using the JMX protocol. You can use the Orion agent for Linux or SNMP agentless for monitoring.

JMX polling is not supported using an Orion Agent for Windows. However, you can configure an application to poll agentlessly by editing the assigned application, expanding the Advanced section, and changing the Preferred Polling Method from Agent to Agentless.

To comply with Federal Information Processing Standards (FIPS), JMX monitoring is disabled when FIPS mode is enabled on the Orion server, starting in SAM 2020.2.

Prerequisites

Target servers are set up to support JMX queries. See Configure Java application servers and JVMs for SAM monitoring.

For additional tips, see this THWACK thread.

To use the Orion agent for Linux:

Template configuration changes

Update the following default settings in component monitors: 

  • The template is configured to send JMX requests on port 8686, by default. For this template, change the port to 9999.
  • The URL is set to /jmxrmi by default. For this template, change the URL to service:jmx:remoting-jmx://${IP}:${PORT}.

Credentials

Required credentials are dependent on the JMX configuration.

Component monitors

Components may vary in a running environment. You can add your own threshold limits, as needed.

Classes Loaded Count

The number of classes that are currently loaded in the Java virtual machine (JVM).

Classes Total Loaded Count

The total number of classes that were loaded since the JVM started execution.

Classes Unloaded Count

The total number of classes unloaded since the JVM started started execution.

Memory Pending Final Count

The approximate number of objects for which finalization is pending.

Memory Heap Init Size (B)

The initial amount of memory in bytes that the JVM allocates; or -1 if undefined.

Memory Heap Used (B)

The amount of used memory, in bytes. The amount of used memory in the returned memory usage is the amount of memory occupied by both live objects and garbage objects that have not been collected, if any.

Memory Heap Committed (B)

The amount of committed memory in bytes.

Memory Heap Max Size (B)

The maximum amount of memory in bytes that can be used; or -1 if undefined.

Memory Non Heap Init Size (B)

The initial amount of memory in bytes that the JVM allocates; or -1 if undefined.

Memory Non Heap Used (B)

The amount of used memory in bytes.

Memory Non Heap Committed (B)

The amount of committed memory in bytes.

Memory Non Heap Max Size (B)

The maximum amount of memory in bytes that can be used; or -1 if undefined.

Memory Garbage Collections Count

The approximate accumulated collection elapsed time in milliseconds.

Be sure to set the correct Object Name. You can see which names are available by running the Find Processes, Services, and Performance Counters wizard. In the wizard, expand java.lang, and GarbageCollector and check which names are available. By default, this counter uses: name=Copy.

Memory Garbage Collection Time (ms)

The approximate accumulated collection elapsed time in milliseconds.

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

Memory Pool Init Size (B)

The initial amount of memory (in bytes) that the JVM requests from the OS for memory management during startup. The Java virtual machine may request additional memory from the operating system and may also release memory to the system over time. The value of init may be undefined.

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

Memory Pool Used (B)

The amount of memory currently used (in bytes).

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

Memory Pool Committed Size (B)

The amount of memory (in bytes) that is guaranteed to be available for use by the JVM. The amount of committed memory may change over time (increase or decrease). The JVM may release memory to the system and committed could be less than init. committed will always be greater than or equal to used.

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

For IBM WebSphere, this counter is unavailable and you should disable it.

Memory Pool Max Size (B)

The maximum amount of memory (in bytes) that can be used for memory management. Its value may be undefined. The maximum amount of memory may change over time if defined. The amount of used and committed memory will always be less than or equal to max if max is defined. A memory allocation may fail if it attempts to increase the used memory such that used > committed even if used <= max would still be true (for example, when the system is low on virtual memory).

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

For IBM WebSphere, this counter is unavailable and you should disable it.

Memory Pool Peak Used (B)

The peak amount of memory currently used (in bytes).

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

For IBM WebSphere, this counter is unavailable and you should disable it.

Memory Pool Peak Committed (B)

The peak amount of memory (in bytes) that is guaranteed to be available for use by the JVM. The amount of committed memory may change over time (increase or decrease). The JVM may release memory to the system and committed could be less than init. committed will always be greater than or equal to used.

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

Memory Pool Peak Max Size (B)

The maximum peak amount of memory (in bytes) that can be used for memory management. Its value may be undefined. The maximum amount of memory may change over time if defined. The amount of used and committed memory will always be less than or equal to max if max is defined. A memory allocation may fail if it attempts to increase the used memory such that used > committed even if used <= max would still be true (for example, when the system is low on virtual memory).

Set the correct Object Name. For available names, run the Find Processes, Services, and Performance Counters wizard.

Threads Total Started Count

The total number of threads created and also started since the JVM started.

Current Thread Count

The current number of live threads including both daemon and non-daemon threads.

Current Thread Cpu Time

The total CPU time for the current thread in nanoseconds.

Current Thread User Time

The CPU time that the current thread has executed in user mode in nanoseconds.

Runtime Uptime (ms)

The uptime of the JVM in milliseconds.

Compiler Time (ms)

The approximate accumulated elapsed time (in milliseconds) spent in compilation.

Active Thread Count

The number of active threads in the JVM.

Active Thread Group Count

The number of active thread groups in the JVM.

Free Memory

The amount of free memory for the JVM that the app server instance runs on. This counter should be as high as possible.

Available Processors

The number of available processors.

Total Memory

The total memory for the JVM that the app server instance runs on.