问题
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