All Apps and Add-ons

queryMBeans access denied error

colbymontgomery
New Member

I am attempting to connect the SPLUNK4JMX application to our existing WebSphere JVM infrastructure. I am not interested in connecting to the WebSphere managed MBean server, but rather the JAVA PlatformMBean server exposed by the JVM.

I have configured the JVM with these start-up parameters:
-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/opt/IBM/WebSphere/AppServer/java/jre/lib/management/jmxremote.password -Djava.rmi.server.hostname=myhostname

I can successfully connect to the target JVM's platform MBean server via jconsole using this connect string and specifying my configured username/password:
service:jmx:rmi:///jndi/rmi://myhostname:1099/jmxrmi

The java.lang JMX beans are listed in jconsole and I can interact with them.

However when I use the same parameters in my config.xml I get this error listed in the JMX Connectivity Status panel:
access denied (javax.management.MBeanPermission -#-[-] queryMBeans)

My JAVA_HOME environment variable on my Splunk server is set to:
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64

Here is my jvmserver entry in config.xml:
<jmxserver jvmDescription="JVM01" jmxServiceURL="service:jmx:rmi:///jndi/rmi://myhostname:1099/jmxrmi" jmxuser="controlRole" jmxpass="mypass">

This looks like it may be a Java2 security exception but I do not have Java2 security enabled in my WebSphere cluster. I hope someone has seen this before and can provide some pointers.

Thank you in advance.

0 Karma
1 Solution

Damien_Dallimor
Ultra Champion

What does your full config.xml look like ?

Perhaps you are trying to access MBeans that don't exist ?

View solution in original post

0 Karma

Damien_Dallimor
Ultra Champion

What does your full config.xml look like ?

Perhaps you are trying to access MBeans that don't exist ?

View solution in original post

0 Karma

colbymontgomery
New Member

There were 2 things incorrect with my configuration. The first was the fact that I was sending my JXM output to the main index so I was not finding it when I queried by index=jmx. I reconfigured my data source and checked the "More settings" checkbox to configure the index to "jmx". The queryMBean permission problem was due to a misconfiguration in my java.lang.Memory bean config section. Thanks for the hint to look in my mbean config. Now both my custom mbeans and my JVM system mbeans are showing up.

0 Karma

Damien_Dallimor
Ultra Champion

Nice one 🙂

0 Karma