Geekflare is supported by our audience. We may earn affiliate commissions from buying links on this site.
Share on:

How to Enable JMX in WebSphere to Monitor using JConsole?

site monitoring platform
Invicti Web Application Security Scanner – the only solution that delivers automatic verification of vulnerabilities with Proof-Based Scanning™.

JAVA Management Extensions (JMX) is a powerful technology to manage and monitor applications or service-driven networks. Using JMX, you can quickly check the WebSphere JVM health.

If you are already using an enterprise monitoring system, then most probably you don’t need this.

However, for learning or interview questions, this will help you to enable JMX & monitor essential metrics of WebSphere JVM.

The good thing about this is you don’t have to install any additional software.

Let’s start with the implementation

  • Login into DMGR Console
  • Click on Servers >> Server Types >> WebSphere application servers
  • Click on JVM from the list you wish to monitor using JMX
  • Expand Java and Process Management under “Server Infrastructure” and click on Process definition

 server-infrastructure

  • Click on Java Virtual Machine under “Additional Properties”

java-virtual-machine

  • Enter following in “Generic JVM arguments” box
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=9000

In the above example, I have entered 9000. You must enter a unique port number to avoid conflicts.

jvm-arguments-jmx-port

  • Click on Review and Synchronize changes with nodes

It would be best if you restarted the JVM to get the port number active. To verify the port, you can use the netstat command.

[root@localhost server1]# netstat -anlp|grep 9000
tcp6       0     0 :::9000                 :::*                   LISTEN     4575/java          
[root@localhost server1]#

So now, I know JMX port for JVM is listening and ready to be connected from Jconsole.

Jconsole is within the JDK package, so if you have this installed, you should see them under the java/bin folder. Alternatively, you can use find command.

find / -name jconsole

Execute jconsole, and it will prompt you to enter the remote process details. Here you have to give server hostname and JVM port number.

Ex: localhost:9000

jconsole-connection

It will take a few seconds and connect to WebSphere JVM using JMX port.

On the overview tab, you can see heap memory usage, threads, classes, and CPU usage details.

jconsole-overview

You can play around with other tabs to see what metrics you need. If you notice under the Memory tab, you will see an option to “Perform GC”. So you see it’s helpful in many ways.

jconsole-memory

So go ahead and try out in your testing environment to get familiar.

Next, learn about thread dumps.

Thanks to our Sponsors
More great readings on WebSphere
Power Your Business
Some of the tools and services to help your business grow.
  • Invicti uses the Proof-Based Scanning™ to automatically verify the identified vulnerabilities and generate actionable results within just hours.
    Try Invicti
  • Web scraping, residential proxy, proxy manager, web unlocker, search engine crawler, and all you need to collect web data.
    Try Brightdata
  • Semrush is an all-in-one digital marketing solution with more than 50 tools in SEO, social media, and content marketing.
    Try Semrush
  • Intruder is an online vulnerability scanner that finds cyber security weaknesses in your infrastructure, to avoid costly data breaches.
    Try Intruder