пытаясь получить доступ к значению JConsole Mbean - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь получить доступ к значениям MBean через jmx и, в частности, getMBeanServerConnection.Настройка дерева в jconsole трудна для прохождения, и мне нужна помощь в получении значений, которые мне нужны или которые я могу получить, чтобы получить все типы, имена и атрибуты.Вот что я использовал для чтения значений jmx mbean:

//get an instance of the kafka metrics Mbean
            consumerBeanII = 
 jmxCon.getMBeanServerConnection().getAttribute(new 
 ObjectName("kafka.server:type=BrokerTopicMetrics,
    name=MessagesInPerSec,topic=data.in"),"MeanRate");
            System.out.println(" Message Mean Rate: " + consumerBeanII); 
// this works

  consumerBean = jmxCon.getMBeanServerConnection().getAttribute(new 
  ObjectName("kafka.server:type=FetcherLagMetrics,
     name=ConsumerLag,side=ReplicaFetcherThread-0- 
            2,topic=data.in"),"Value");
            System.out.println(" ConsumerLag: " + consumerBean); 
 //this does not work and throws exception

Ошибка:

javax.management.InstanceNotFoundException: 
kafka.server:type=FetcherLagMetrics,name=ConsumerLag,
side=ReplicaFetcherThread-0-2,topic=data.in

Теперь вот снимок дерева и иерархии jconsole:

enter image description here

, поэтому в основном это выглядит следующим образом:

kafka.server --->  FetcherLagMetrics  -->  ConsumerLag --->  
  ReplicaFetcherThread-0-2 ---> data.in  ---> 5 ---> Attributes ---> 
  Value

В ConsumerLag (ReplicateFetcherThread. *) Есть несколько подпапок, а затем все темы в каждой изэти папки.Но, похоже, значение = 0 для всех, что в любом случае является отдельной проблемой.Любые советы или помощь приветствуются

...