使用過Spring boot的開發者都知道actuator,它是Springboot提供的用來對應用系統進行自省和監控的功能模塊,借助于Actuator開發者可以很方便地對應用系統某些監控指標進行查看、統計等。但比較遺憾的是沒有可視化界面,只能通過干燥的json數據來查看相應的指標,如下圖:
今天我們介紹一個可視化的監控指標平臺Spring Boot Admin,它利用spring-boot-starter-actuator提供的功能,將各個微服務的狀態整合到一起,并提供良好的界面查看支持,并且能夠動態的修改實例日志級別。
Spring Boot Admin 開源地址:https://github.com/codecentric/spring-boot-admin
Spring Boot Admin分為server和client,使用非常方便,server端可查看各個微服務的狀態,client端將微服務注冊到server端。
服務端
下面先搭建server端,直接使用start.spring.io生成一個spring boot項目,引入下面依賴

配置端口和服務名
server.port=8090
spring.application.name=admin-server
啟動類,通過添加注解@EnableAdminServer

啟動后,打開url顯示如下

客戶端
spring boot項目,直接添加下圖依賴即可
application.properties中配置注冊的服務端地址如下
spring.application.name=admin-client
spring.boot.admin.client.url=http://127.0.0.1:8090
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
啟動完成后,查看server端,如下圖
查看相關指標
應用墻可以快速看到那些服務異常
正常情況
異常情況

點擊應用,可以查看相應指標


查看properties的環境變量配置

查看日志級別
Spring Boot Admin為注冊的應用程序提供以下功能:
- 顯示健康狀況
- 顯示詳細信息,例如JVM和內存指標micrometer.io指標數據源指標緩存指標
- 顯示內部編號
- 關注并下載日志文件
- 查看JVM系統和環境屬性
- 查看Spring Boot配置屬性
- 支持Spring Cloud的可發布/ env-&/ refresh-endpoint
- 輕松的日志級別管理
- 與JMX-beans交互
- 查看線程轉儲
- 查看http-traces
- 查看審核事件
- 查看http端點
- 查看預定的任務
- 查看和刪除活動會話(使用spring-session)
- 查看Flyway / Liquibase數據庫遷移
- 下載heapdump
- 狀態更改通知(通過電子郵件,Slack,Hipchat等)
- 狀態更改的事件日志(非持久性)