簡體   English   中英

如何查詢伺服MBean的Hystrix?

[英]How to query the servo MBean for Hystrix?

我能夠在JConsole中訪問MBean,並且它們顯示為com.netflix.servo > HystrixCommand > countSuccess >(實際命令及其屬性)

我找不到有關如何查詢這些對象和值的任何示例,例如countSuccess,countFailure等。

我最接近的是ObjectName o = new ObjectName("com.netflix.servo:name=countSuccess,instance=T6JmxStatCommand,type=HystrixCommand"); 它位於https://github.com/n0rad/hands-on-hystrix/blob/master/src/test/java/fr/n0rad/hands/on/hystrix/t6/T6JmxStatMain.java,但顯然不是工作。

通過以下代碼HystrixPlugins.getInstance().registerMetricsPublisher(HystrixServoMetricsPublisher.getInstance());HystrixPlugins.getInstance().registerMetricsPublisher(HystrixServoMetricsPublisher.getInstance());

發現所查詢的對象名稱沒有問題。 實際上,它與JConsole中的相同。 屏幕截圖的右側顯示了完整的語法: 在此處輸入圖片說明

另外,我需要向Eclipse運行配置中添加一些系統屬性: -Dcom.sun.management.jmxremote.rmi.port=8700 -Dcom.sun.management.jmxremote.port=8600 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

然后,我可以使用端口8600進行連接。在代碼中:

package com.awgtek.miscpocs.lognfetch.client;

import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

public class TestJMXConn {

    public static void main(String[] args) throws Exception {
      JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:8600/jmxrmi");
      JMXConnector connect = JMXConnectorFactory.connect(url);
      MBeanServerConnection mbsc = connect.getMBeanServerConnection();
     // ObjectName o = new ObjectName("com.netflix.servo:name=countSuccess,type=HystrixCommand,instance=LogAndFetchRestServicePostCommand");
      ObjectName o = new ObjectName("com.netflix.servo:name=countSuccess,type=HystrixCommand,instance=LogAndFetchRestServiceGetCommand");
      Object value = mbsc.getAttribute(o, "value");
      System.out.println("the value: " + value);
      connect.close();


    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM