LINUX.ORG.RU
решено ФорумAdmin

Возможно ли локально вытянуть данные по JMX, если уданённый JMX не включен?

 , ,


0

1

Доброго времени суток

Сабж

Есть работающая JVM, в которой не включался удалённый JMX ( т.е. не задавали параметры вида

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=12345

При этом, jmxterm и утилиты из состава JDK успешно подключаются к этой ВМ и вытягивают из неё данные

И есть плагин check_jmx для nagios, в readme которого дан пример работы с удалённым JXM

./check_jmx -U service:jmx:rmi:///jndi/rmi://127.0.0.1:12345/jmxrmi -O java.lang:type=Threading -A ThreadCount

Очевидно, без включения удалённого JMX этот пример к плагину работать не будет

  • Правильно ли я понимаю, что jmxterm и утилиты из JDK работают через локальный сокет, но всё равно по протоколу JMX ?
  • Если да, то как составить connection string для check_jmx, чтобы он работал с JVM локально, без включения удалённого JMX ?
★★★★★

Последнее исправление: router (всего исправлений: 1)

https://docs.oracle.com/cd/E19717-01/819-7758/gchjb/index.html

Alternatively, if urlPath is omitted from the service URL, the JMX connector server will generate a client URL containing the actual RMI stub embedded within it in encoded and serialized form. For example, the service URL

service:jmx:rmi://localhost

will generate a client URL of the form

service:jmx:rmi://localhost/stub/rmiStub

where rmiStub is an encoded and serialized representation of the RMI stub itself. 

Не понял, как получить rmiStub. Но в jmxterm после подключения можно ещё раз выполнить команду open и увидеть connection string в форме stub

Работает. Но принципа я пока не понимаю, придётся копать глубже

router ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.