Перейти на домашнюю страницу

java, Настройка JMX-мониторинга Tomcat

Документация по теме:

https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/jmx_monitoring
http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html
http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html

ВНИМАНИЕ!
Ниже пример настройки небезопасного JMX-мониторинга (без авторизации и SSL-шифрования).

Пример для Linux-систем.

Опробовано на Apache Tomcat 7.0.90 и Server JRE 8u181.

* * *

Создаём/редактируем файл

/Tomcat/bin/setenv.sh


вносим в него следующие параметры:

CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8686 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=192.168.1.1"


* * *

В каталог /lib Tomcat'а добавляем файл "catalina-jmx-remote.jar" в зависимости от версии Tomcat.

файл можно взять здесь:

http://archive.apache.org/dist/tomcat/


например, для Tomcat v7.0.54 это будет файл:

http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.54/bin/extras/catalina-jmx-remote.jar


* * *

Редактируем файл

/Tomcat/conf/server.xml


добавляем в него строку (рядом с другими Listener в секцию Server):

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8687" rmiServerPortPlatform="8688" />


при настройке "Интерфейса JMX" узла сети в Zabbix используется порт

rmiRegistryPortPlatform="8687"


* * *

Готово.

Перезапускаем Tomcat для применения настроек.

* * *

Проверяем наличие JMX-мониторинга при помощи утилиты JConsole (поставляется с JDK)

service:jmx:rmi://192.168.1.1:8688/jndi/rmi://192.168.1.1:8687/jmxrmi


посмотреть информацию по портам и "connector mode" для Zabbix можно на вкладке

MBeans - Catalina - ThreadPool

#zabbix #java #apache tomcat #linux

2019-08-20 22:07:55