I wanted to have the information about JDBC Connection Pool Size and Hung Threads using the JMX/PMI custom metrics.
I found that there are limited options for the IBM WebSphere Liberty comparatively IBM WebSphere.
Is there any other way to grasp this information and use it for custom anomaly detection?
Solved! Go to Solution.
Unfortuatially, not yet. I realized that Dynatrace is not providing much metrics information like the traditional WebSphere. To overcome this limitation, we plan to use Oracle DB Insight to monitor the health/metrics of independent databases.
I read somewhere in the documentation that there will be an enhancement for the liberty processes extraction out of the box as currently, we use the advanced processes properties to extract the processes. I hope they will consider providing additional metrics.
Please note that for Websphere Liberty there is out-of-the-box support for built-in connection pools. But the monitoring feature in Liberty has to be turned on manually as documented.
Details on the IBM site
Then all connection pool metrics will appear automatically.
Also other metrics like the thread pools or servlet stats will appear then.
For WebSphere Liberty, It can be fiddly depending on the technology that is implemented for your app.
For Database calls, I have found that quite commonly in Liberty, people tend to use Hikari drivers rather than standard Oracle / JDBC ones. In the instance of Hikari, it won't write to JMX unless you enable it within the framework (this is similar to some other popular DB driver frameworks)
You should be able to see what is available via the standard JMX plugin builder and see if it has what you need.
Here's a list of the defaults
Reference guide: List of provided MBeans - IBM Documentation
In our instances, we needed to get the devs / build team to enable Hikari -> jmx config across the liberty apps, and then write a seperate HikariCP jmx plugin. Between the Liberty jmx plugin and the Hikari plugin, we got what we needed.
Best to start by having a chat to the Devs about what frameworks they are using, so you can check if it has JMX outputs.
It was already mentioned in one of the links that harald_bergers provided already, but make sure you have enabled the monitor-1.0 feature in your Liberty applications. This will expose the ConnectionPool Mbean as seen here: https://www.ibm.com/docs/en/was-liberty/core?topic=10-connectionpool-monitoring