Tuesday, 5 December 2017

Monitoring WebSphere Liberty Profile via JMX and REST over HTTPS

This is another of those pesky Work-in-Progress articles, and follows on from an earliest post: -

Using Nagios to monitor IBM HTTP Server and IBM WebSphere Liberty Profile

My objective is to have Nagios actively pull various Java-related attributes from WebSphere Liberty Profile, using the Java Management Extensions (JMX) API over REST over HTTPS.

This is what I've inferred thus far, using the Liberty REST Explorer: -



and a Google Chrome extension called Restlet

GET requests

Get a list of the available MBeans

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/

Choose Garbage Collection

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/java.lang%3Aname%3DCopy%2Ctype%3DGarbageCollector

Choose Total Memory Freed

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/java.lang%3Aname%3DCopy%2Ctype%3DGarbageCollector/attributes/TotalMemoryFreed

Choose Memory Used

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/java.lang%3Aname%3DCopy%2Ctype%3DGarbageCollector/attributes/MemoryUsed

Choose Operating System

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/java.lang%3Atype%3DOperatingSystem

Choose OS Name

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/java.lang%3Atype%3DOperatingSystem/attributes/Name

Choose JVM Stats

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/WebSphere%3Atype%3DJvmStats

Choose JVM Attributes

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/WebSphere%3Atype%3DJvmStats/attributes

Choose Used Memory

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/WebSphere%3Atype%3DJvmStats/attributes/UsedMemory

Choose GC Count

https://mfp.uk.ibm.com:8443/IBMJMXConnectorREST/mbeans/WebSphere%3Atype%3DJvmStats/attributes/GcCount

More to follow ...

From a WLP perspective, these are the features that I've currently got enabled, in this context: -

        <feature>monitor-1.0</feature>
        <feature>apiDiscovery-1.0</feature>
        <feature>ssl-1.0</feature>
        <feature>restConnector-1.0</feature>


Also, for the record, I'm using Liberty 17.0.0.3.

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...