Actuator插件是SpringBoot原生提供的一個服務,能夠經過暴露端點路由,用來輸出應用中的諸多 端點信息。實戰一下!git
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
啓動Spring Boot應用程序以後,只要在瀏覽器中輸入端點信息就能得到應用的一些狀態信息。github
經常使用端點列舉以下,能夠一個個詳細試一下:spring
固然此時只能使用/health
和 /info
端點,其餘由於權限問題沒法訪問。想訪問指定端點的話能夠在yml配置中添加相關的配置項,好比/metrics
端點則須要配置:瀏覽器
endpoints: metrics: sensitive: false
此時瀏覽器訪問/metrics端點就能獲得諸以下面所示的信息:session
{ "mem": 71529, "mem.free": 15073, "processors": 4, "instance.uptime": 6376, "uptime": 9447, "systemload.average": -1.0, "heap.committed": 48024, "heap.init": 16384, "heap.used": 32950, "heap": 506816, "nonheap.committed": 23840, "nonheap.init": 160, "nonheap.used": 23506, "nonheap": 0, "threads.peak": 25, "threads.daemon": 23, "threads.totalStarted": 28, "threads": 25, "classes": 6129, "classes.loaded": 6129, "classes.unloaded": 0, "gc.copy.count": 74, "gc.copy.time": 173, "gc.marksweepcompact.count": 3, "gc.marksweepcompact.time": 88, "httpsessions.max": -1, "httpsessions.active": 0 }
固然也能夠開啓所有端點權限,只需以下配置便可:spring-boot
endpoints: sensitive: false
因爲Actuator插件提供的監控能力畢竟有限,並且UI比較簡陋,所以須要一個更加成熟一點的工具工具
SBA則是基於Actuator更加進化了一步,其是一個針對Actuator接口進行UI美化封裝的監控工具。咱們來實驗一下。ui
pom.xml中加入以下依賴:url
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server</artifactId> <version>1.5.7</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>1.5.7</version> </dependency>
而後在應用主類上經過加註解來啓用Spring Boot Adminspa
@EnableAdminServer @SpringBootApplication public class SpringbtAdminServerApplication { public static void main(String[] args) { SpringApplication.run(SpringbtAdminServerApplication.class, args); } }
啓動程序,瀏覽器打開 localhost:8081
查看Spring Boot Admin主頁面:
Spring Boot Admin主頁面
此時Application一欄空空如也,等待待監控的應用加入
pom.xml中加入如下依賴
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>1.5.7</version> </dependency>
而後在yml配置中添加以下配置,將應用註冊到Admin服務端去:
spring: boot: admin: url: http://localhost:8081 client: name: AdminTest
Client應用一啓動,Admin服務立馬推送來了消息,告訴你AdminTest上線了:
應用上線推送消息
此時去Admin主界面上查看,發現Client應用確實已經註冊上來了:
Client應用已註冊上來
Detail信息
Metrics信息
Enviroment信息
JMX信息
Threads信息
Trace信息
點擊最上方JOURNAL,會看到被監控應用程序的事件變化:
應用程序的事件變化信息
圖中能夠清晰地看到,應用從 REGISTRATION → UNKNOWN → UP 的狀態跳轉。
這樣就將Actuator插件提供的全部端點信息在SBA中所有嘗試了一遍。