
- Spring Boot 教程
- Spring Boot - 首頁
- Spring Boot - 簡介
- Spring Boot - 快速入門
- Spring Boot - 引導
- Spring Tool Suite
- Spring Boot - Tomcat 部署
- Spring Boot - 構建系統
- Spring Boot - 程式碼結構
- Spring Bean 和依賴注入
- Spring Boot - 執行器
- Spring Boot - 啟動器
- Spring Boot - 應用程式屬性
- Spring Boot - 配置
- Spring Boot - 註解
- Spring Boot - 日誌
- 構建 RESTful Web 服務
- Spring Boot - 異常處理
- Spring Boot - 攔截器
- Spring Boot - Servlet 過濾器
- Spring Boot - Tomcat 埠號
- Spring Boot - Rest 模板
- Spring Boot - 檔案處理
- Spring Boot - 服務元件
- Spring Boot - Thymeleaf
- 使用 RESTful Web 服務
- Spring Boot - CORS 支援
- Spring Boot - 國際化
- Spring Boot - 排程
- Spring Boot - 啟用 HTTPS
- Spring Boot - Eureka 伺服器
- 使用 Eureka 註冊服務
- 閘道器代理伺服器和路由
- Spring Cloud 配置伺服器
- Spring Cloud 配置客戶端
- Spring Boot - Actuator
- Spring Boot - 管理伺服器
- Spring Boot - 管理客戶端
- Spring Boot - 啟用 Swagger2
- Spring Boot - 使用 SpringDoc OpenAPI
- Spring Boot - 建立 Docker 映象
- 跟蹤微服務日誌
- Spring Boot - Flyway 資料庫
- Spring Boot - 傳送電子郵件
- Spring Boot - Hystrix
- Spring Boot - WebSocket
- Spring Boot - 批處理服務
- Spring Boot - Apache Kafka
- Spring Boot - Twilio
- Spring Boot - 單元測試用例
- Rest Controller 單元測試
- Spring Boot - 資料庫處理
- 保護 Web 應用程式
- Spring Boot - 帶 JWT 的 OAuth2
- Spring Boot - Google Cloud Platform
- Spring Boot - Google OAuth2 登入
- Spring Boot 資源
- Spring Boot - 快速指南
- Spring Boot - 有用資源
- Spring Boot - 討論
Spring Boot - 管理伺服器
使用 Spring Boot Actuator 端點監控您的應用程式有點困難。因為,如果您有“n”個應用程式,每個應用程式都有單獨的 Actuator 端點,從而使監控變得困難。Spring Boot Admin Server 是一個用於管理和監控您的微服務應用程式的應用程式。
為了處理這種情況,CodeCentric 團隊提供了一個 Spring Boot Admin UI,用於在一個地方管理和監控所有 Spring Boot 應用程式 Actuator 端點。
為了構建 Spring Boot Admin Server,我們需要在您的構建配置檔案中新增以下依賴項。
Maven 使用者可以在您的 pom.xml 檔案中新增以下依賴項:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>3.3.3</version> </dependency>
Gradle 使用者可以在您的 build.gradle 檔案中新增以下依賴項:
compile group: 'de.codecentric', name: 'spring-boot-admin-starter-server', version: '3.3.3'
建立 Spring Admin Server
首先,從 Spring Initializer 頁面下載 Spring Boot 專案,並選擇 Spring Admin Server 和 Admin Server UI 依賴項。觀察下面給出的螢幕截圖:

在您的主 Spring Boot 應用程式類檔案中新增 @EnableAdminServer 註解。@EnableAdminServer 註解用於將您的應用程式作為 Admin Server 來監控所有其他微服務。
AdminserverApplication
package com.tutorialspoint.adminserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import de.codecentric.boot.admin.config.EnableAdminServer; @SpringBootApplication @EnableAdminServer public class AdminserverApplication { public static void main(String[] args) { SpringApplication.run(AdminserverApplication.class, args); } }
現在,在 application.properties 檔案中定義 server.port 和 application name,如下所示:
server.port = 9090 spring.application.name = adminserver
對於 YAML 使用者,請使用以下屬性在 application.yml 檔案中定義埠號和應用程式名稱。
server: port: 9090 spring: application: name: adminserver
構建配置檔案如下所示。
pom.xml
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.tutorialspoint</groupId> <artifactId>adminserver</artifactId> <version>0.0.1-SNAPSHOT</version> <name>adminserver</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>21</java.version> <spring-boot-admin.version>3.3.3</spring-boot-admin.version> </properties> <dependencies> <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> <dependencyManagement> <dependencies> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-dependencies</artifactId> <version>${spring-boot-admin.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
對於 Gradle 使用者 - build.gradle 檔案
buildscript { ext { springBootVersion = '3.3.3' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' group = 'com.tutorialspoint' version = '0.0.1-SNAPSHOT' sourceCompatibility = 21 repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter') compile group: 'de.codecentric', name: 'spring-boot-admin-server', version: '3.3.3' testCompile('org.springframework.boot:spring-boot-starter-test') }
編譯和執行
您可以建立一個可執行的 JAR 檔案,並使用以下 Maven 或 Gradle 命令執行 Spring Boot 應用程式:
對於 Maven,請使用此處顯示的命令:
mvn clean install
“BUILD SUCCESS”後,您可以在 target 目錄下找到 JAR 檔案。
對於 Gradle,請使用此處顯示的命令:
gradle clean build
“BUILD SUCCESSFUL”後,您可以在 build/libs 目錄下找到 JAR 檔案。
現在,使用以下命令執行 JAR 檔案:
java –jar <JARFILE>
現在,應用程式已在 Tomcat 埠 9090 上啟動,如下所示:
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ [32m :: Spring Boot :: [39m [2m (v3.3.3)[0;39m [2m2024-09-12T16:16:44.507+05:30[0;39m [32m INFO[0;39m [35m18380[0;39m [2m---[0;39m [2m[adminserver] [ main][0;39m [2m[0;39m[36mc.t.adminserver.AdminserverApplication [0;39m [2m:[0;39m Starting AdminserverApplication using Java 21.0.3 with PID 18380 (E:\Dev\adminserver\target\classes started by Tutorialspoint in E:\Dev\adminserver) [2m2024-09-12T16:16:44.510+05:30[0;39m [32m INFO[0;39m [35m18380[0;39m [2m---[0;39m [2m[adminserver] [ main][0;39m [2m[0;39m[36mc.t.adminserver.AdminserverApplication [0;39m [2m:[0;39m No active profile set, falling back to 1 default profile: "default" [2m2024-09-12T16:16:45.909+05:30[0;39m [33m WARN[0;39m [35m18380[0;39m [2m---[0;39m [2m[adminserver] [ main][0;39m [2m[0;39m[36mion$DefaultTemplateResolverConfiguration[0;39m [2m:[0;39m Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) [2m2024-09-12T16:16:46.179+05:30[0;39m [32m INFO[0;39m [35m18380[0;39m [2m---[0;39m [2m[adminserver] [ main][0;39m [2m[0;39m[36mo.s.b.a.e.web.EndpointLinksResolver [0;39m [2m:[0;39m Exposing 1 endpoint beneath base path '/actuator' [2m2024-09-12T16:16:46.867+05:30[0;39m [32m INFO[0;39m [35m18380[0;39m [2m---[0;39m [2m[adminserver] [ main][0;39m [2m[0;39m[36mo.s.b.web.embedded.netty.NettyWebServer [0;39m [2m:[0;39m Netty started on port 9090 (http) [2m2024-09-12T16:16:46.881+05:30[0;39m [32m INFO[0;39m [35m18380[0;39m [2m---[0;39m [2m[adminserver] [ main][0;39m [2m[0;39m[36mc.t.adminserver.AdminserverApplication [0;39m [2m:[0;39m Started AdminserverApplication in 2.702 seconds (process running for 3.754)
現在,從您的 Web 瀏覽器中點選以下 URL 並檢視 Admin Server UI。
https://:9090/
