JConsole - отличная стандартная утилита из JDK для мониторинга параметров JVM.
Она расположена в %JAVA_HOME%/bin
Чтобы с её помощью контролировать Tomcat-сервер необходимо сконфигурировать сервер:
- В каталоге %CATALINA_HOME%/conf создать конфиг-файл remote.users вида
ЛОГИН_ПОЛЬЗОВАТЕЛЯ ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ
- В каталоге %CATALINA_HOME%/conf создать конфиг-файл remote.acl вида
ЛОГИН_ПОЛЬЗОВАТЕЛЯ ПРАВА_ДОСТУПА
- chmod 400 remote.users
- chmod 400 remote.acl
- chown tomcat:tomcat remote.users
- chown tomcat:tomcat remote.acl
- Найти скрипт запуска catalina.sh (находится, обычно, в %CATALINA_HOME%/bin )
- В скрипте перед секцией запуска добавить команду
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.password.file=ПОЛНЫЙ_ПУТЬ_К_remote.users -Dcom.sun.management.jmxremote.access.file= ПОЛНЫЙ_ПУТЬ_К_remote.acl -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=НОМЕР_ПОРТА -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=IP_АДРЕС"
%CATALINA_HOME% - каталог, в который установлен Tomcat
%JAVA_HOME% - каталог, в который установлена JVM в JDK
IP_АДРЕС - IP-адрес Tomcat-сервера
НОМЕР_ПОРТА - Номер порта, на котором Tomcat-сервер будет отвечать на запросы JConsole
ЛОГИН_ПОЛЬЗОВАТЕЛЯ ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ - аутентификационные параметры пользователя JConsole
ПРАВА_ДОСТУПА - имеют одно из двух значений readwrite или readonly
Если хочется отключить парольную аутентификацию, то в список CATALINA_OPTS необходимо добавить параметр -Dcom.sun.management.jmxremote.authenticate=false
Чтобы изменения в конфиге и скрипте вступили в силу, необходимо перезапустить Tomcat.
Для использования JConsole необходимо:
- запустить JConsole
- в форме выбрать режим Remote Access, ввести IP или доменное имя Tomcat-сервера c номером порта в формате IP_ИЛИ_ДОМЕН:НОМЕР_ПОРТА
- нажать кнопку [Connect]