Version

    JMX configuration

    This section describes how to configure JMX access in Tomcat for monitoring and managing the Server Core. To configure JMX monitoring of Server Worker, see Remote JMX monitoring of Worker JVM.

    It’s important to note that authentication is disabled in this example configuration for demonstration purposes only. In a production environment, JMX access should always be secured with authentication and, ideally, SSL encryption. See Password Authentication for more information.

    How to configure JMX on Apache Tomcat

    Tomcat’s JVM must be executed with these parameters:

    1. -Dcom.sun.management.jmxremote=true

    2. -Dcom.sun.management.jmxremote.port=<port>

    3. -Dcom.sun.management.jmxremote.ssl=false

    4. -Dcom.sun.management.jmxremote.authenticate=false

    5. -Djava.rmi.server.hostname=<hostname or IP address> (necessary only for remote JMX connections)

    With these values, you can use the following URL for connection to the JMX server of your JVM. No user/password is needed.

    service:jmx:rmi:///jndi/rmi://<hostname or IP address>:<port>/jmxrmi.

    Configuring JMX on Linux

    On UNIX-like OS, set environment variable CATALINA_OPTS, for example:

    export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true
                          -Dcom.sun.management.jmxremote.port=<port>
                          -Dcom.sun.management.jmxremote.ssl=false
                          -Dcom.sun.management.jmxremote.authenticate=false
                          -Djava.rmi.server.hostname=<hostname or IP address>"

    Add these paramers to file TOMCAT_HOME/bin/setenv.sh (if it does not exist, you may create it) or TOMCAT_HOME/bin/catalina.sh

    Configuring JMX on Windows

    On Windows, each parameter must be set separately:

    set CATALINA_OPTS=-Dcom.sun.management.jmxremote=true
    set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.port=<port>
    set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false
    set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.ssl=false
    set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=<hostname or IP address>

    Add these parameters to file TOMCAT_HOME/bin/setenv.bat (if it does not exist, you may create it) or TOMCAT_HOME/bin/catalina.bat

    When running Tomcat as a Windows service, add the parameters into the "Java Options" section in the service configuration in the following format:

    -Dcom.sun.management.jmxremote=true
    -Dcom.sun.management.jmxremote.port=<port>
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
    -Djava.rmi.server.hostname=<hostname or IP address>

    Remote JMX monitoring of Worker JVM

    Add the following options to the worker.jvmOptions property:

    -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8687 -Dcom.sun.management.jmxremote.rmi.port=8687 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=example.com

    With the above options, you enable remote connection to JMX monitoring, which provides a wide range of information about the running JVM, JNDI resources, etc. Change the value of java.rmi.server.hostname to the hostname of your Server.