gpt4 book ai didi

java - Jconsole无法连接到本地jmx应用程序

转载 作者:行者123 更新时间:2023-12-01 09:43:26 36 4
gpt4 key购买 nike

我有一个 Spring boot 项目,其中使用 spring-boot-starter-actuator 和 io.dropwizard.metrics。

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
</dependency>

它生成我可以通过 url http://myapplication/metrics 访问的指标。我将应用程序部署在 Wildfly 10 独立服务器上。

我想使用 jmx 读取 jconsole 上的指标。我将应用程序配置为使用 JMXReporter 发送指标:

@Configuration
@EnableMetrics
public class MetricsConfiguration extends MetricsConfigurerAdapter {
@Override
public void configureReporters(MetricRegistry metricRegistry) {
registerReporter(JmxReporter.forRegistry(metricRegistry)
.build())
.start();
}
}

当我启动服务器并部署应用程序时,日志显示:

o.s.b.a.e.j.EndpointMBeanExporter Located managed bean 'metricsEndpoint': registering with JMX server as MBean [portal-ws-jmx:type=Endpoint,name=metricsEndpoint]

Server logs

当我运行jconsole时,在本地进程列表中,只有JConsole进程和一些灰色的PID。如果我选择灰色 PID,它会显示“管理代理未在此进程上启用”。

我还尝试使用远程进程连接:

  • 服务:jmx:http-remoting-jmx://localhost:9990
  • 服务:jmx:远程+ http://localhost:9990
  • 本地主机:9990

JConsole

但这行不通。

我尝试设置 jvm 变量:

  • -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false

和属性:

  • spring.jmx.enabled=true

它也不起作用。

我可以使用 jconsole 读取 jmx 指标做什么?

最佳答案

这是我用来生成一个工作的 spring-boot 应用程序(尽管使用 Tomcat,而不是 Wildfly)的命令行参数集,该应用程序通过 JConsole 公开内容:

cmd="$cmd -Dcom.sun.management.jmxremote"
cmd="$cmd -Dcom.sun.management.jmxremote.port=9899"
cmd="$cmd -Dcom.sun.management.jmxremote.rmi.port=9811"
cmd="$cmd -Dcom.sun.management.jmxremote.authenticate=false"
cmd="$cmd -Dcom.sun.management.jmxremote.ssl=false"
cmd="${cmd} -Djava.rmi.server.hostname=<IP_OF_YOUR_SERVER>"

请注意,应用程序在端口 9800 上运行并通过端口 9800 访问(在我的例子中)。但是,端口 9811 和 9899 也开放用于处理 JMX(如上所述)。您还需要确保可以通过您可能设置的任何防火墙访问这 3 个端口。

祝你好运

关于java - Jconsole无法连接到本地jmx应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38267980/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com