SpringBootAdmin
不是Spring官方提供的模塊,它包含了Client
和Server
兩部分。server部分提供了用戶管理界面,client即為被監控的服務。client需要注冊到server端。
SpringBootAdmin提供了很少的幾個監控服務端點,需要依賴SpringBootActuator豐富監控功能。
server端配置
server端的配置很簡單,無需任何開發。
第一步:引入依賴
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.3.0</version>
</dependency>
第二步:在啟動類上增加@EnableAdminServer注解,開啟對spring-boot-admin的支持。
@SpringBootApplication
@EnableAdminServer
public class SpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminApplication.class, args);
}
}
做好以上配置,然后訪問http://ip:port;效果如下
目前還沒有客戶端注冊到服務端,所以看不到任何監控的內容,接下來我們創建一個客戶端並且注冊到服務端后再來看看效果。
Client端配置
這里使用上一章的演示項目——spring-boot-actuator做為客戶端。
第一步:引入依賴
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.3.0</version>
</dependency>
第二部:將客戶端注冊到服務器端,
spring:
boot:
admin:
client:
# 服務端地址
url: http://localhost:7019
效果如下:
為了監控更多的狀態信息,我們在客戶端引入spring-boot-actuator
依賴。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
由於actuator默認只開啟了health和info兩個web端口,如果想要在server端頁面看到所有的監控信息,需要開啟其他接口的web端口。
management:
endpoints:
web:
exposure:
include: "*"
現在的效果如下:
spring-boot-admin的應用就簡單介紹完了。spring-boot-admin配合spring-boot-actuator實現多服務監控,不僅能提供查看服務監控信息的ui,而且可以監控更加全面的內容。
本文示例代碼已上傳至github,點個star
支持一下!
Spring Boot系列教程目錄
spring-boot-route(一)Controller接收參數的幾種方式
spring-boot-route(二)讀取配置文件的幾種方式
spring-boot-route(五)整合swagger生成接口文檔
spring-boot-route(六)整合JApiDocs生成接口文檔
spring-boot-route(七)整合jdbcTemplate操作數據庫
spring-boot-route(八)整合mybatis操作數據庫
spring-boot-route(九)整合JPA操作數據庫
spring-boot-route(十一)數據庫配置信息加密
spring-boot-route(十二)整合redis做為緩存
spring-boot-route(十三)整合RabbitMQ
spring-boot-route(十五)整合RocketMQ
spring-boot-route(十六)使用logback生產日志文件
spring-boot-route(十七)使用aop記錄操作日志
spring-boot-route(十八)spring-boot-adtuator監控應用
spring-boot-route(十九)spring-boot-admin監控服務
spring-boot-route(二十)Spring Task實現簡單定時任務
spring-boot-route(二十一)quartz實現動態定時任務
spring-boot-route(二十二)實現郵件發送功能
spring-boot-route(二十四)分布式session的一致性處理
spring-boot-route(二十五)兩行代碼實現國際化
spring-boot-route(二十六)整合webSocket
這個系列的文章都是工作中頻繁用到的知識,學完這個系列,應付日常開發綽綽有余。如果還想了解其他內容,掃面下方二維碼告訴我,我會進一步完善這個系列的文章!