我有一个使用spring-boot-starter-actuator和io.dropwizard.metrics的Spring引导项目。Jconsole无法连接到本地jmx应用程序
<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();
}
}
当我启动服务器和部署应用程序,日志说:
osbaejEndpointMBeanExporter位于托管bean “metricsEndpoint”:与注册JMX服务器的MBean [门户-WS-JMX:类型=端点,名称= metricsEndpoint]
当我运行jconsole时,在本地进程列表中,只有JConsole进程和一些灰色PID。如果我选择一个灰色的PID,它会显示“管理代理未启用此过程”。
我也试图使用远程过程连接:
- 服务:JMX:HTTP的远程处理-JMX://本地主机:9990
- 服务:JMX:远程+ http://localhost:9990
- 本地主机:9990
但是,这是行不通的。
我试图设置JVM变量:
- -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only =假
和属性:
- spring.jmx.enabled =真
它也不起作用。
我能做什么用jconsole读取jmx指标?
感谢您的回答。我尝试这个,但它不起作用。 我认为我的问题是由wildyfly引起的。 – YLombardi