Document toolboxDocument toolbox

JMX

Data Description

The PowerConnect application is able to extract data from over two thousand JMX Beans in the SAP system. These JMX Beans can be leveraged for SAP performance use cases.

Potential Use Cases

This event could be used in the following scenarios:

  • Count of heap memory dumps over time

  • Visualize system CPU architecture and Java version

  • Alert on garbage collection

PowerConnect Administrative Console Configuration

Important: None of the configurations below requires a restart of the PowerConnect agent.

There are two methods that can be used to configure the list of enabled JMX Beans in the PowerConnect Java application. Both methods are documented below:

Configuring via User Interface

Log into the PowerConnect administrative console via the following URL (http://<serverhost>:<port>/webdynpro/resources/com.powerconnect5/spcj_wd/SapPowerConnectJava#). Then click on the JMX tab.

The list of available JMX Beans is displayed on the top half of the screen, and the bottom half of the screen shows the list of JMX Beans enabled.

To enable a new JMX Bean, click on the JMX Bean of interest, and then add it to the list below using the arrow button.

The JMX Beans will then be added to the list of Enabled JMX beans below.

Then Save using the button at the bottom of the screen.

To disable a JMX Bean click on the respective line in the “Enabled JMX Beans” section and move it to the top. Save the configuration afterwards.

Configuring Using XML File

The enabled JMX Beans can also be exported and imported using an XML configuration file. The schema of the XML file is very simple – as an example:

You can edit this file to include the JMX Beans that you would like to see in Splunk. To access the list of available JMX Beans and XML configuration, please log into the PowerConnect administrative console via the following URL (http://<serverhost>:<port>/webdynpro/resources/com.powerconnect5/spcj_wd/SapPowerConnectJava#). Then click on the JMX tab.

The list of available JMX Beans is displayed on the top half of the screen, and the bottom half of the screen shows the list of JMX Beans enabled. To export the JMX config click on the JMX Export button on the bottom of the screen.

Once the XML file has been exported, modify as desired. Once the XML file has been edited as desired, you can import the configuration by selecting the file using the “Choose file” button, find the XML file on your computer/server, and then select the Import button. Save.

You will see a Popup Window display the message “Successfully imported JMX Configuration” and the Enabled JMX Beans table should be automatically updated to reflect the newly applied configuration.

JMX Bean Reference

Here are some useful MBeans with their fields and associated descriptions:

Name

Field

Description

Name

Field

Description

java.lang:type=OperatingSystem

Arch

System cpu architecture

 

AvailableProcessors

Number of cpu cores

 

FreePhysicalMemorySize

Free physical RAM on the host system

 

CommittedVirtualMemorySize

Used virtual memory

 

FreeSwapSpaceSize

Free swap space

 

MaxFileDescriptorCount

Maximum number of file descriptors available

 

Name

Operating System name

 

ObjectName

MBean name

 

OpenFileDescriptorCount

Used file descriptors

 

ProcessCpuLoad

Cpu load of the Java process

 

ProcessCpuTime

Cpu time of the Java proces

 

SystemCpuLoad

Cpu load of the host system

 

SystemLoadAverage

Cpu load average of the host system

 

TotalPhysicalMemorySize

Total physical RAM available on the host system

 

Version

Operating System version

java.lang:type=MemoryPool,name=*

Name

Memory Pool Name

 

ObjectName

MBean name

 

Usage.init

Memory pool initial size

 

Usage.committed

Memory pool commit size

 

Usage.used

Memory pool used size

 

Usage.max

Memory pool maximum size

 

Type

Type of memory that the pool uses e.g. HEAP or NON_HEAP

java.lang:type=Compilation

Name

Compiler name

 

TotalCompilationTime

The accumulated time the Java process has spent doing JIT compilation (milliseconds)

java.lang:type=GarbageCollector,name=*

Name

Type of Garbage Collector configured e.g. Concurrent Mark Sweep

 

CollectionCount

Number of times the Garbage Collector has run since the Java process was started

 

CollectionTime

The accumulated time the Garbage Collector has run

 

LastGCInfo.GcThreadCount

Number of threads used to run the Garbage Collector

 

LastGCInfo.duration

How long the last Garbage Collector run took

 

LastGCInfo.startTime

Milliseconds since Java process was launched

 

LastGCInfo.endTime

Milliseconds since Java process was launched

 

LastGCInfo.memoryUsageBeforeGc

Information about the committed, initial, max and used memory before the Garbage Collection event

 

LastGCInfo.memoryUsageAfterGc

Information about the committed, initial, max and used memory after the Garbage Collection event

java.lang:type=Runtime

Name

Process ID of the Java Process

 

BootClassPath

Boot Classpath of the Java process

 

ClassPath

Classpath of the Java process

 

InputArguments

Array of arguments with which the Java process was started

 

SpecVersion

Java version

 

StartTime

Time in Epoch format the Java process was started

 

Uptime

The number of milliseconds the Java process has been running

 

SystemProperties

Array of system properties with which the Java process was started

java.lang:type=Threading

DaemonThreadCount

Number of daemon threads running

 

ThreadCount

Number of threads running currently

 

PeakThreadCount

Maximum number of threads running since the Java Process was started

 

TotalStartedThreadCount

Total number of threads started since the Java Process was started

Splunk Event

Please note the fields displayed will vary depending on which Java MBean is selected. The event will look like this in Splunk: