How to monitor Lucidworks Fusion 2.x with a JMX Tool (Zabbix, Nagios, JConsole, Etc)

JMX monitoring tools like Zabbix, Nagios, JConsole, etc. can be used to effectively monitor Lucidworks Fusion.

By default, Lucidworks does not enable any JMX ports to be open. So you need to follow a few simple steps to enable the JMX modules and open JMX ports.

1) Enable the JMX modules for each Fusion application

We assume that FUSION_HOME environment variable is set to the fusion install directory. Enable the JMX and Remote JMX modules by running the following in a terminal:

For Linux

cd $FUSION_HOME/apps/jetty/connectors
java -jar $FUSION_HOME/apps/jetty/home/start.jar --add-to-start=jmx-remote,jmx
cd $FUSION_HOME/apps/jetty/api
java -jar $FUSION_HOME/apps/jetty/home/start.jar --add-to-start=jmx-remote,jmx
cd $FUSION_HOME/apps/jetty/solr
java -jar $FUSION_HOME/apps/jetty/home/start.jar --add-to-start=jmx-remote,jmx
cd $FUSION_HOME/apps/jetty/ui
java -jar $FUSION_HOME/apps/jetty/home/start.jar --add-to-start=jmx-remote,jmx


For Windows

cd %FUSION_HOME%\apps\jetty\connectors
java -jar %FUSION_HOME%\apps\jetty\home\start.jar --add-to-start=jmx-remote,jmx
cd %FUSION_HOME%\apps\jetty\api
java -jar %FUSION_HOME%\apps\jetty\home\start.jar --add-to-start=jmx-remote,jmx
cd %FUSION_HOME%\apps\jetty\solr
java -jar %FUSION_HOME%\apps\jetty\home\start.jar --add-to-start=jmx-remote,jmx
cd %FUSION_HOME%\apps\jetty\ui
java -jar %FUSION_HOME%\apps\jetty\home\start.jar --add-to-start=jmx-remote,jmx

 

2) Configure config.sh (Linux) or config.cmd (Windows)

Add the following text highlighted in red to the existing Java options properties in the file (If any of the ports used below are already used on your system change them to something different):

API_JAVA_OPTIONS=(-Xmx1g -XX:MaxPermSize=256m -Dapple.awt.UIElement=true -Djetty.jmxrmihost=localhost -Djetty.jmxrmiport=1098)
CONNECTORS_JAVA_OPTIONS=(-Xmx2g -XX:MaxPermSize=256m -Dapple.awt.UIElement=true -Djetty.jmxrmihost=localhost -Djetty.jmxrmiport=1099)
SOLR_JAVA_OPTIONS=(-Xmx2g -Dapple.awt.UIElement=true -Djetty.jmxrmihost=localhost -Djetty.jmxrmiport=1097)
UI_JAVA_OPTIONS=(-Xmx512m -XX:MaxPermSize=256m -Dapple.awt.UIElement=true -Djetty.jmxrmihost=localhost -Djetty.jmxrmiport=1096)

3) Configure firewall if needed

An obvious but easy-to-forget step is that you will need to configure your firewall to allow the Fusion host and port to be connected to from your JMX monitoring tool location.

4) Use JConsole to verify it works

Open JAVA_HOME/bin/jconsole

Enter remote address with the server host and port. E.g.:

Ignore this warning:

And you are connected.

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk