Documentation forServer & Application Monitor

JBoss (JMX)

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

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.

Prerequisites

Target server configured to allow JMX queries. See Configure Java Application Servers and JVMs for SAM monitoring for details.

If using the Orion agent for Linux, the agent must be installed on the target Linux machine, the node must be managed using the agent within the Orion Platform, and the target system must be configured properly. See the JMX section in Configure Linux/Unix systems for monitoring by the Orion agent in SAM.

Template configuration changes

The following settings in the component monitors should be changed from defaults:

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

Credentials

Dependent on the JMX configuration.

Component monitors

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

Classes Loaded Count

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

Classes Total Loaded Count

Returns the total number of classes that have been loaded since the JVM started execution.

Classes Unloaded Count

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

Memory Pending Final Count

Returns the approximate number of objects for which finalization is pending.

Memory Heap Init Size (B)

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

Memory Heap Used (B)

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

Returns the amount of committed memory in bytes.

Memory Heap Max Size (B)

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

Memory Non Heap Init Size (B)

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

Memory Non Heap Used (B)

Returns the amount of used memory in bytes.

Memory Non Heap Committed (B)

Returns the amount of committed memory in bytes.

Memory Non Heap Max Size (B)

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

Memory Garbage Collections Count

Returns the approximate accumulated collection elapsed time in milliseconds.

You should 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)

Returns the approximate accumulated collection elapsed time in milliseconds.

You should 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 Pool Init Size (B)

Returns 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.

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

Memory Pool Used (B)

Returns the amount of memory currently used (in bytes).

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

Memory Pool Committed Size (B)

Returns 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.

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

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

Memory Pool Max Size (B)

Returns 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).

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

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

Memory Pool Peak Used (B)

Returns the peak amount of memory currently used (in bytes).

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

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

Memory Pool Peak Committed (B)

Returns 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.

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

Memory Pool Peak Max Size (B)

Returns 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).

You should 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 MemoryPool and check which names are available. By default, this counter uses: name=Code Cache.

Threads Total Started Count

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

Current Thread Count

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

Current Thread Cpu Time

Returns the total CPU time for the current thread in nanoseconds.

Current Thread User Time

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

Runtime Uptime (ms)

Returns the uptime of the JVM in milliseconds.

Compiler Time (ms)

Returns the approximate accumulated elapsed time (in milliseconds) spent in compilation.

Active Thread Count

Returns the number of active threads in the JVM.

Active Thread Group Count

Returns the number of active thread groups in the JVM.

Free Memory

Returns the amount of free memory for the JVM this app server instance is running on. This counter should be as high as possible.

Available Processors

Returns the number of available processors.

Total Memory

Returns the total memory for the JVM this app server instance is running on.