Actuator是監控管理,不過沒有可視化,這里就引入了admin-ui來解決Spring Boot Admin 分為Client端和Server端Client端是客戶端Server端是spring-boot-admin來監控client的.先來一個Client客戶端代碼;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<? xml version = "1.0" encoding = "UTF-8" ?> < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion >4.0.0</ modelVersion > < artifactId >spring-boot-demo-admin-client</ artifactId > < version >1.0.0-SNAPSHOT</ version > < packaging >jar</ packaging > < name >spring-boot-demo-admin-client</ name > < description >Demo project for Spring Boot</ description > < parent > < groupId >com.xkcoding</ groupId > < artifactId >spring-boot-demo-admin</ artifactId > < version >1.0.0-SNAPSHOT</ version > </ parent > < properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < project.reporting.outputEncoding >UTF-8</ project.reporting.outputEncoding > < java.version >1.8</ java.version > </ properties > < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > < dependency > < groupId >de.codecentric</ groupId > < artifactId >spring-boot-admin-starter-client</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-security</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-test</ artifactId > < scope >test</ scope > </ dependency > </ dependencies > < build > < finalName >spring-boot-demo-admin-client</ finalName > < plugins > < plugin > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-maven-plugin</ artifactId > </ plugin > </ plugins > </ build > </ project > |
application.yml文件,注意這里的url一定跑配置到Server的路徑,不然找不到,有點類型erkura的注冊中心地址.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
server: port: 8081 servlet: context-path: /demo spring: application: # Spring Boot Admin展示的客戶端項目名,不設置,會使用自動生成的隨機id name: spring-boot-demo-admin-client boot: admin: client: # Spring Boot Admin 服務端地址 url: "http://localhost:8080/" instance: metadata: # 客戶端端點信息的安全認證信息 user.name: ${spring.security.user.name} user.password: ${spring.security.user.password} security: user: name: xkcoding password: 123456 management: endpoint: health: # 端點健康情況,默認值"never",設置為"always"可以顯示硬盤使用情況和線程情況 show-details: always endpoints: web: exposure: # 設置端點暴露的哪些內容,默認["health","info"],設置"*"代表暴露所有可訪問的端點 include: "*" |
Java文件就隨便暴露個接口就行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package com.xkcoding.admin.client.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 首頁 * </p> * * @package: com.xkcoding.admin.client.controller * @description: 首頁 * @author: yangkai.shen * @date: Created in 2018/10/8 2:15 PM * @copyright: Copyright (c) 2018 * @version: V1.0 * @modified: yangkai.shen */ @RestController public class IndexController { @GetMapping (value = { "" , "/" }) public String index() { return "This is a Spring Boot Admin Client." ; } } |
接下來是Server服務端,作為監控平臺使用pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<? xml version = "1.0" encoding = "UTF-8" ?> < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion >4.0.0</ modelVersion > < artifactId >spring-boot-demo-admin-server</ artifactId > < version >1.0.0-SNAPSHOT</ version > < packaging >jar</ packaging > < name >spring-boot-demo-admin-server</ name > < description >Demo project for Spring Boot</ description > < parent > < groupId >com.xkcoding</ groupId > < artifactId >spring-boot-demo-admin</ artifactId > < version >1.0.0-SNAPSHOT</ version > </ parent > < properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < project.reporting.outputEncoding >UTF-8</ project.reporting.outputEncoding > < java.version >1.8</ java.version > </ properties > < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > < dependency > < groupId >de.codecentric</ groupId > < artifactId >spring-boot-admin-starter-server</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-test</ artifactId > < scope >test</ scope > </ dependency > </ dependencies > < build > < finalName >spring-boot-demo-admin-server</ finalName > < plugins > < plugin > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-maven-plugin</ artifactId > </ plugin > </ plugins > </ build > </ project > |
application.yml
1
2
|
server: port: 8080 |
運行服務端地址,發現已經檢測到了注冊過的客戶端
可以看到客戶端的信息
http追蹤可以看到請求
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/sunxun/p/13634230.html