Technical Blog Post
Abstract
Enabling JMX connection in IBM Sterling B2B Integrator and monitoring IBM Sterling B2B Integrator from remote machine or locally
Body
There are situation where the users and support engineers monitors and requests the application and hardware resource utilization details to narrow down issues. There might be several ways to monitor the application performance and hardware resource utilization. However in this blog i have used jConsole tool to monitor the IBM Sterling B2B application (SBI).
This blog demonstrates step by step details on how to enable JMX connection in SBI so that it can be monitored locally or remotely using tools available.
About JConsole:
JConsole (Java™ Monitoring and Management Console) is a graphical tool which allows the user to monitor and manage the behavior of Java applications.
The tool is built on the java.lang.management API which was introduced in Java 5.0. JConsole connects to applications running on the same workstation as itself, or on a remote workstation. The applications must be configured to allow access. JConsole is not part of the core SDK, and it is experimental and unsupported.
When JConsole connects to a Java application, it reports information about the application. The details include memory usage, the running threads, and the loaded classes. This data allows you to monitor the behavior of your application and the JVM. The information is useful in understanding performance problems, memory usage issues, hangs, or deadlocks.
Refer the below link for more details.
The jconsole.exe can be found at <JAVA_HOME>/bin directory.
Setting up JMX connection in SBI:
UNIX (Ex: Linux)
Note: Here the parameters are directly added to the tmp.sh file. And I have a used a random port that is available (i.e 12000 in this example). Otherwise the DEBUG_PORT parameter value from sandbox.cfg can be used. If you are making the same changes into the tmp.sh.in file then run the setupfiles.sh to propagate the changes into the tmp.sh file.
Once SBI started successfully, verify these additional parameters are passed as JVM arguments. This can be verified from noapp.log (from <SBI_INSTALL>/logs directory) as highlighted below.
noapp.log:
This tells that the additional JVM parameters are added successfully to enable JMX connection and now the application can be monitored using jConsole.
To launch JConsole:
1. Navigate to <JAVA_HOME>/bin directory from any remote machine where JDK/JRE is installed.
2. Click on jconsole.exe and it opens up the below window.
3. Enter the Remote Process details as below:
If IP address of the SBI server is 10.11.12.13 and JMX connection port is 12000 then enter the Remote Process as below.
Example: 10.11.12.13:12000
4. Enter username and password for SBI. Once the connection is successful it will display the heap/non-heap memory usage, live thread details, perform GC options etc..
Follow the steps below to enable JMX connection on SBI running on windows:
Note: JConsole is a Swing application. You might find that running JConsole on the same workstation as the Java application you want to monitor affects the performance of your Java application. You can use JConsole to connect to a JVM running on a remote workstation to reduce the affect of running JConsole on the application performance.
If there are any queries on this, please post your questions or comments.
UID
ibm11121859