Configuring Remote Management and Monitoring on a Cassandra Node with JConsole
3/14/2016In your cassandra-env.sh set
LOCAL_JMX=no
If you want username and password security. Keep the default setting for jmxremote authenticate which is true. Otherwise set it to false:
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
Note: If set to true, enter a username and password for the jmx user in the jmxremote.password.file
. Follow the instructions here on how to secure that file. Setting jmxremote.authenticate to true also requires you to pass in the username and password when running a nodetool command, e.g. nodetool status -u cassandra -pw cassandra
Restart the server (if needed).
Connecting to the node using JConsole for monitoring
Find the JConsole jar in yourJDK_HOME/bin
or JDK_HOME/lib
directory. If you don’t have the Java JDK installed it can be downloaded from the Oracle Website.Double-click the executable jar to run it (or run it from the command line). Select “Remote Process” and enter the following connection string.
service:jmx:rmi:///jndi/rmi://<target ip address>:7199/jmxrmi
replacing <target ip address> with the address of the machine you intend to manage or monitor.
Note: JConsole may try (and fail) to connect using ssl first. If it does so it will ask if it can connect over a non-encrypted connection. You should answer this prompt in the affirmative and you are good.
Congrats! You now have everything you need to monitor and manage a cassandra node.
For help with how to monitor Cassandra using JMX and with interpreting the metrics see:
0 comments