如何更好的监控spring boot 的状态?加载了哪些bean,有多少个线程在运行?
一,spring boot actuator
当然你得提前给浏览器比如chrome添加预览json文本的插件,这样查看起来才直观。json预览插件请点击chrome的工具->更多工具->扩展程序。
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
即可
启动后
大约的命令不少于下面所列:
/info
/health
/mappings
/env
/metrics
/trace
/beans
/configprops
/autoconfig
/dump
二,使用spring boot admin
需要新建一个spring boot admin server 工程
只有2步
①pom.xml
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.3.2</version>
</dependency>
②在App.java添加注解@EnableAdminServer 注意不要给这个app增加/的路径访问
@EnableAdminServer
@SpringBootApplication
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
然后在需要监控的工程pom.xm上添加
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.3.4</version>
</dependency>
并在applicaion.properties添加指向上面的spring boot admin server的URL
spring.boot.admin.url=http://localhost:8000
最后启动:
spring boot 的日志默认是logback,正好我也是使用logback,然后sping boot 来管理日志的方式很简单
client端的logbac.xml添如下配置即可:
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<jmxConfigurator/>
或者直接添加
<jmxConfigurator/>
即可
打开server端的日志界面