Skip to content

使用 Admin Server 管理 Spring 应用程序

在Spring Boot中,Admin Server(通常指的是Spring Boot Actuator与Spring Cloud Admin Server的结合)可以用来集中监控和管理多个Spring Boot应用程序。下面是如何设置和使用Admin Server来管理你的Spring Boot应用程序:

1. 添加依赖

首先,你需要在你的pom.xmlbuild.gradle文件中添加Spring Boot Actuator和Spring Cloud Admin Server的依赖。

Maven

xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.3.0</version>
</dependency>

Gradle

groovy
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'de.codecentric:spring-boot-admin-starter-server:2.3.0'

2. 配置Admin Server

在你的Admin Server项目的application.ymlapplication.properties文件中配置Admin Server。

yaml
# application.yml
server:
  port: 8080

spring:
  application:
    name: admin-server

management:
  endpoints:
    web:
      exposure:
        include: '*'

spring-boot-admin:
  server:
    auto-registration:
      enabled: false

这里,我们启用了所有端点的暴露,并禁用了自动注册,因为我们不希望Admin Server自身注册到自己。

3. 配置客户端应用

对于你想要监控的每个Spring Boot应用程序,你需要在它们各自的application.ymlapplication.properties文件中进行以下配置:

yaml
# application.yml
spring:
  boot:
    admin:
      client:
        url: http://localhost:8080
        username: admin
        password: password

这里,你指定了Admin Server的URL以及可选的用户名和密码。

4. 启动Admin Server和客户端应用

现在,你可以启动Admin Server和所有的客户端应用了。当客户端应用启动时,它们会自动向Admin Server注册并发送健康检查和其他信息。

5. 访问Admin Server UI

打开浏览器,访问http://localhost:8080。你应该能看到一个列出所有已注册应用的页面,包括它们的状态、日志级别等详细信息。

  • 确保所有客户端应用的spring.application.name属性是唯一的,以避免混淆。
  • 如果你正在使用安全措施,如HTTPS或OAuth2,确保正确配置Admin Server和客户端应用。

通过上述步骤,你可以有效地使用Admin Server来管理你的Spring Boot应用程序集群,包括监控健康状态、执行远程命令、查看环境变量和日志等。