SpringBoot服務監控分為客戶端和服務端,即服務端是監控方,客戶端為被監控方。
例如需要對線上的SpringBoot服務project-A進行監控,則project-A 為客戶端。而監控的服務project-B則為服務端。客戶端將被監控的數據信息發送到服務端進行UI展示。
客戶端project-A依賴的jar:
<!--應用監控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.5.6</version>
</dependency>
在配置文件中添加配置:
spring.application.name=project-A server.port=5566 #將該服務的各指標監控信息在app-monitor服務上展示 spring.boot.admin.url=http://xxxx.xxxx.xxx.com:8056/app-monitor #關閉安全校驗 management.security.enabled=false
服務端project-B依賴的jar:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.5.6</version>
</dependency>
配置文件的配置:
spring.application.name=app-monitor server.port=8056 server.context-path=/app-monitor
在服務端的啟動類上添加如下注解:
@EnableAdminServer
然后啟動這兩個服務,打開project-B服務的url
http://xxxx.xxxx.xxx.com:8056/app-monitor
看到如下的界面:


