Spring boot admin是可視化的監(jiān)控組件涣雕,依賴spring boot actuator收集各個(gè)服務(wù)的運(yùn)行信息闭翩,通過(guò)spring boot actuator可以非常方便的查看每個(gè)微服務(wù)的Health信息、內(nèi)存信息疗韵、JVM信息兑障、配置信息流译、垃圾回收信息 等等。
(一) 版本說(shuō)明
a) Spring boot 2.0.6.RELEASE
b) Spring cloud Finchley.SR2
c) Java version 1.8
d) spring-boot-admin-starter-server 2.0.4
(二) 項(xiàng)目設(shè)置
- Pom文件
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
- application.yml配置文件
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
3. 主要參數(shù)說(shuō)明
a) spring.profiles.active 設(shè)置當(dāng)前使用的配置項(xiàng)先蒋,一般多配置場(chǎng)景下使用,這里為了eureka高可用,設(shè)置了3個(gè)實(shí)例眯搭,在運(yùn)行實(shí)例的時(shí)候窥翩,可以動(dòng)態(tài)設(shè)置。
b) spring.application.name 項(xiàng)目名稱
c) server.port 運(yùn)行端口號(hào)
d) eureka.server.enable-self-preservation 是否啟用自我保護(hù)功能鳞仙,該功能默認(rèn)是啟用,但為了快速的響應(yīng)服務(wù)的上下線棍好,一般在開(kāi)發(fā)環(huán)境把自我保護(hù)功能禁用
e) client.client.service-url.defaultZone 服務(wù)注冊(cè)中心地址,這里是交叉設(shè)置3個(gè)服務(wù)自理實(shí)例
f) client.instance.lease-renewal-interval-in-seconds 發(fā)送心跳的頻率
g) client.instance.lease-expiration-duration-in-seconds 失效間隔借笙,這個(gè)主要是判斷客戶端還活著,一般設(shè)置為client.instance.lease-renewal-interval-in-seconds的3倍业稼。
h) 其它參數(shù)說(shuō)明可以參考官方說(shuō)明盗痒,需要說(shuō)明的是spring cloud 每次版本迭代都有配置參數(shù)的變更低散,最好是參考相對(duì)應(yīng)的版本參數(shù)說(shuō)明
(三) 項(xiàng)目運(yùn)行
1. 運(yùn)行admin項(xiàng)目后,在我們的治理中心就可以看到已經(jīng)注冊(cè)完成熔号,如下圖所示
2. 在瀏覽器中輸入你的主機(jī)的IP:端口號(hào),就可以看到spring boot admin運(yùn)行界面如下圖所示引镊,顯示了每個(gè)微服務(wù)的運(yùn)行狀態(tài)篮条,非常的方便我們進(jìn)一步查看微服務(wù)的詳情。
a) 綠色表示正常狀態(tài)兑燥。
b) 紅色表示下線狀態(tài)
c) 灰色表示離線狀態(tài)
d) 黃色表示受保護(hù)狀態(tài)
3. 查看詳情
a) 我們點(diǎn)擊一個(gè)綠色的微服務(wù)查看詳情,比如點(diǎn)擊CLIENTSERVICE服務(wù)降瞳,看到如下效果,顯示了Metadata挣饥、Health、Process沛膳、Threads、Memory 等等锹安,左側(cè)是各個(gè)監(jiān)控的分類(lèi)項(xiàng)。
b) 比如我們點(diǎn)擊左側(cè)的Http Trace叹哭,則可以看到我們每次調(diào)用CLIENTSERVICE微服務(wù)的列表,點(diǎn)擊每個(gè)某一條即可看到該次訪問(wèn)的詳情风罩。
這樣spring boot admin可視化監(jiān)控組件就介紹完了,如果在開(kāi)發(fā)中遇到問(wèn)題超升,也可以留言共同探討共同進(jìn)步。