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

配置端口和服務(wù)名
server.port=8090
spring.application.name=admin-server
啟動(dòng)類,通過(guò)添加注解@EnableAdminServer

啟動(dòng)后,打開(kāi)url顯示如下

客戶端
spring boot項(xiàng)目,直接添加下圖依賴即可
application.properties中配置注冊(cè)的服務(wù)端地址如下
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
啟動(dòng)完成后,查看server端,如下圖
查看相關(guān)指標(biāo)
應(yīng)用墻可以快速看到那些服務(wù)異常
正常情況
異常情況

點(diǎn)擊應(yīng)用,可以查看相應(yīng)指標(biāo)


查看properties的環(huán)境變量配置

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