Spring boot admin是可視化的監控組件,依賴spring boot actuator收集各個服務的運行信息,通過spring boot actuator可以非常方便的查看每個微服務的Health信息、內存信息、JVM信息、配置信息、垃圾回收信息 等等。
(一) 版本說明
d) spring-boot-admin-starter-server 2.0.4
(二) 項目設置
1. Pom文件
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>${spring-boot-admin.version}</version> </dependency>
server:
port: 1051
spring:
application:
name: cloudadmin
eureka:
instance:
hostname: 192.168.1.78 #${eureka.instance.ip-address}
prefer-ip-address: true
ip-address: 192.168.1.129
lease-renewal-interval-in-seconds: 10
lease-expiration-duration-in-seconds: 30
instance-id: ${eureka.instance.ip-address}:${server.port}
status-page-url: http://${eureka.instance.ip-address}:${server.port}
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:1001/eureka/,http://${eureka.instance.hostname}:1002/eureka/,http://${eureka.instance.hostname}:1003/eureka/
management:
endpoints:
web.exposure.include: "*"
endpoint:
health:
show-details: ALWAYS
a) spring.profiles.active 設置當前使用的配置項,一般多配置場景下使用,這里為了eureka高可用,設置了3個實例,在運行實例的時候,可以動態設置。
b) spring.application.name 項目名稱
c) server.port 運行端口號
d) eureka.server.enable-self-preservation 是否啟用自我保護功能,該功能默認是啟用,但為了快速的響應服務的上下線,一般在開發環境把自我保護功能禁用
e) client.client.service-url.defaultZone 服務注冊中心地址,這里是交叉設置3個服務自理實例
f) client.instance.lease-renewal-interval-in-seconds 發送心跳的頻率
g) client.instance.lease-expiration-duration-in-seconds 失效間隔,這個主要是判斷客戶端還活着,一般設置為client.instance.lease-renewal-interval-in-seconds的3倍。
h) 其它參數說明可以參考官方說明,需要說明的是spring cloud 每次版本迭代都有配置參數的變更,最好是參考相對應的版本參數說明
(三) 項目運行
1. 運行admin項目后,在我們的治理中心就可以看到已經注冊完成,如下圖所示
2. 在瀏覽器中輸入你的主機的IP:端口號,就可以看到spring boot admin運行界面如下圖所示,顯示了每個微服務的運行狀態,非常的方便我們進一步查看微服務的詳情。
a) 綠色表示正常狀態。
b) 紅色表示下線狀態
c) 灰色表示離線狀態
d) 黃色表示受保護狀態
3. 查看詳情
a) 我們點擊一個綠色的微服務查看詳情,比如點擊CLIENTSERVICE服務,看到如下效果,顯示了Metadata、Health、Process、Threads、Memory 等等,左側是各個監控的分類項。
b) 比如我們點擊左側的Http Trace,則可以看到我們每次調用CLIENTSERVICE微服務的列表,點擊每個某一條即可看到該次訪問的詳情。
這樣spring boot admin可視化監控組件就介紹完了,如果在開發中遇到問題,也可以留言共同探討共同進步。





