How to monitor a spring-boot application via JMX?

老子叫甜甜 提交于 2020-12-01 10:54:21

问题


I'm trying to set up a JMX monitoring for a comand line app build with spring-boot.

According to https://github.com/spring-projects/spring-boot/tree/master/spring-boot-actuator I just have to add the dependency:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Now I start my app, open VisualVM and I already see my application PID. But how can I now access the metrics like /health etc that are mentioned on the actuator page? As this is a comand line app, I don't have any HTTP path that I can execute.

How can I see those metrics via JXM?


回答1:


If you want to access JMX beans with JVisualVM, you need to install the VisualVM-MBeans plugin (go to Tools -> Plugins -> Available Plugins). You can also use JConsole, which can access JMX beans by default.




回答2:


Follow up: you have to set up a JMX port at startup; something like this:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

FRom VisualVM then, Add JMX Connexion (in this example localhost:8000) in order to reach the app. Also see Launcher parameters into an IDE like Eclipse. NB: credentials can be set as well, see JMX manual for options.



来源:https://stackoverflow.com/questions/25763410/how-to-monitor-a-spring-boot-application-via-jmx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!