主题
使用 Admin Server 监控系统
在 Spring Boot 中,使用 Actuator 和 Admin Server 可以非常方便地监控和管理你的应用。
Actuator 提供了许多端点(Endpoints),这些端点可以提供应用的健康检查、指标、日志级别、线程信息等。
Admin Server 则是一个独立的应用,它集中管理多个使用 Actuator 的应用。
1. 添加依赖
首先,在你的 Spring Boot 项目中添加 Actuator 依赖:
xml
<!-- 在pom.xml中添加 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
如果使用 Gradle,则添加:
groovy
// 在build.gradle中添加
implementation 'org.springframework.boot:spring-boot-starter-actuator'
2. 配置 Actuator
在 application.properties
或 application.yml
文件中配置 Actuator 的端点访问路径和安全性:
properties
# application.properties 示例
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
或者 YAML 格式:
yaml
# application.yml 示例
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: "always"
3. 启用 Admin Server
创建一个新的 Spring Boot 项目作为 Admin Server,添加以下依赖:
xml
<!-- 在Admin Server的pom.xml中添加 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.6.0</version>
</dependency>
或者使用 Gradle:
groovy
// 在Admin Server的build.gradle中添加
implementation 'de.codecentric:spring-boot-admin-starter-server:2.6.0'
4. 配置 Admin Server
在 Admin Server 的配置文件中,设置需要监控的应用的 URL:
properties
# Admin Server的application.properties示例
spring.boot.admin.client.url=http://localhost:8080/admin
spring.boot.admin.client.instance.service-base-url=http://localhost:8081
这里,http://localhost:8080/admin
是 Admin Server 的地址,而 http://localhost:8081
是被监控应用的地址。
5. 注册应用到 Admin Server
在被监控的应用中,添加 Admin Client 的依赖,并配置客户端:
xml
<!-- 被监控应用的pom.xml中添加 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.6.0</version>
</dependency>
然后在配置文件中添加:
properties
# 被监控应用的application.properties示例
spring.boot.admin.client.url=http://localhost:8080/admin
6. 启动应用
最后,分别启动 Admin Server 和被监控的应用。打开浏览器访问 Admin Server 的 URL(如:http://localhost:8080/admin
),你将看到所有注册的应用及其状态。