Atlassian Performance Testing Framework: How To Configure JMX monitoring for Confluence
Asked by Joe Jadamec:

I need more info "Setting up Confluence" step "4. Enable JMX monitoring for your Confluence instance." That section of the documentation looks incomplete on

<https://bitbucket.org/atlassian/elastic-experiment-executor/overview>

However, I was able to start Confluence with jmxremote and connect to Confluence remotely with jconsole by using my own settings like this in setenv.sh

CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=3333 ${CATALINA_OPTS}"  
CATALINA_OPTS="-Dcom.sun.management.jmxremote.rmi.port=3333 ${CATALINA_OPTS}"  
CATALINA_OPTS="-Dcom.sun.management.jmxremote.ssl=false ${CATALINA_OPTS}"  
CATALINA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false ${CATALINA_OPTS}"  
CATALINA_OPTS="-Dcom.sun.management.jmxremote ${CATALINA_OPTS}"

I also connected jconsole using com.sun.management.jmxremote.authenticate=true

and supplied a username and password manually when connecting from jconsole.

1. But how does the test Framework use JMX monitoring for Confluence tests? Is it collecting data, changing attributes, running methods...etc?

2. what ports are used by the Test Framework to connect to JMX on my Confluence nodes, what type of authentication is used, and where in the Test Framework config files are the ports and login info entered for jmxremote connections to Confluence?


Answers:
author: Joe Jadamec
body: The port, username, and password are set in the collectd.conf file. On Linux, the file is /etc/collectd.conf

see Connection blocks section on this page: [Plugin:GenericJMX Configuration Connection blocks](https://collectd.org/wiki/index.php/Plugin:GenericJMX#Connection_blocks "Plugin:GenericJMX Configuration Connection blocks")

Example:

\<Connection\>  
Host "localhost"  
ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:**3333**/jmxrmi"

User "monitorRole"

**Password** "your password here"


author: Nguyen Tran
body: Hi Joe,

I'm also trying to have my JMX Remote monitor working. However, I always get a connection failed when trying to connect. Can I leave my username and password blank if I have CATALINA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false ${CATALINA_OPTS}" ?

comments: author: Joe Jadamec
body: and add this line, but no user/pass settings should only be used on internal test servers.

CATALINA_OPTS="-Dcom.sun.management.jmxremote.ssl=false ${CATALINA_OPTS}"


author: Nguyen Tran
body: I have all the parameters that you mentioned in the original post. And yea this is for our internal test server.


author: Joe Jadamec
body: yes, it works for me with no user/password, I connected to JVM on a remote Linux server just using \<hostname\>:\<port\> in jconsole. check if jconsole connects locally, and if it does, then check if the port is available on your server, and not blocked by a firewall to your remote server.


author: Nguyen Tran
body: ```
CATALINA_OPTS="${GC_JVM_PARAMETERS} ${CATALINA_OPTS}"
CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=8099 ${CATALINA_OPTS}"
CATALINA_OPTS="-Dcom.sun.management.jmxremote.rmi.port=8099 ${CATALINA_OPTS}"
CATALINA_OPTS="-Dcom.sun.management.jmxremote.ssl=false ${CATALINA_OPTS}"
CATALINA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false ${CATALINA_OPTS}"
CATALINA_OPTS="-Dcom.sun.management.jmxremote ${CATALINA_OPTS}"
CATALINA_OPTS="-Dcom.sun.management.jmxremote.local.only=false ${CATALINA_OPTS}"
```

Here's my setenv.sh file. Wonder if I'm doing anything wrong here. The port is available on my server and is not blocked by a firewall.


author: Shannon S
body: Joe,

I'm not personally familiar with this process, but I found an article that might help you?

* [Live monitoring using the JMX Interface](https://confluence.atlassian.com/doc/live-monitoring-using-the-jmx-interface-150274182.html)

I will pass this on to a few of my colleagues and see if they are able to provide you any details about this.

Regards,

Shannon

comments: author: Joe Jadamec
body: Thanks Shannon, as I stated above, I already have JMX Remote monitoring working, and I have already read the article you linked.

But I am asking ++how the "Atlassian Performance Testing Framework" is configured to connect via JMX for Confluence?++

The documentation at this link only describes how to connect the Framework to JMX for BitBucket. <https://bitbucket.org/atlassian/elastic-experiment-executor/overview>


author: Shannon S
body: Hi Joe,

I'm still working on finding these details for you, but I was also able to find this documentation that might give you more information, but perhaps not the exact specifics you're looking for:

* [Performance Testing Framework](https://confluence.atlassian.com/enterprise/atlassian-performance-testing-framework-935575100.html)

I'm sorry that I'm not familiar with Confluence Data Center version. I'm reaching out to the devs on the Bitbucket repository as well to see if they can come here and answer your questions.

Regards,

Shannon


Tags: bitbucket

elastic-experiment-executor

performance