使用 Spring Boot Admin 通过图形界面查看应用配置信息的完整配置详解,包含代码示例和注释,最后以表格总结关键配置

发布于:2025-05-01 ⋅ 阅读:(21) ⋅ 点赞:(0)

以下是使用 Spring Boot Admin 通过图形界面查看应用配置信息的完整配置详解,包含代码示例和注释,最后以表格总结关键配置:
在这里插入图片描述


1. 环境准备

  • Spring Boot 版本:2.7.x(兼容 Spring Boot Admin 2.x)
  • Spring Boot Admin 版本:2.7.x
  • 依赖管理:Maven 或 Gradle

2. 配置步骤详解

2.1 创建 Spring Boot Admin 服务器
2.1.1 添加依赖(pom.xml
<!-- Spring Boot Admin 服务器 -->
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.7.8</version>
</dependency>

<!-- 集成 Actuator(监控端点) -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.1.2 启动类配置
package com.example.admin;

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableAdminServer // 启用Admin服务器
public class AdminServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
    }
}
2.1.3 配置文件(application.yml
server:
  port: 8080  # Admin服务器端口

spring:
  boot:
    admin:
      client:
        url: # 服务器自身URL(非必须,但建议配置)

2.2 创建客户端应用
2.2.1 添加依赖(pom.xml
<!-- Spring Boot Admin 客户端 -->
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.7.8</version>
</dependency>

<!-- 集成 Actuator -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.2.2 配置文件(application.yml
server:
  port: 8081  # 客户端应用端口

spring:
  application:
    name: my-service  # 应用名称(在Admin界面显示)

# 配置连接到Admin服务器
spring.boot.admin.client:
  url: http://localhost:8080  # Admin服务器地址
  instance:
    # 自定义实例信息(可选)
    description: My Service Instance
    management-url: http://localhost:8081/actuator # 客户端Actuator端点地址

# 暴露Actuator端点
management:
  endpoints:
    web:
      exposure:
        include: "*"  # 暴露所有端点(包括configprops)
  endpoint:
    health:
      show-details: always  # 显示详细健康信息
2.2.3 启动类配置
package com.example.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class, args);
    }
}

3. 启动与访问

  1. 启动 Admin 服务器
    • 访问 http://localhost:8080,看到默认界面。
  2. 启动客户端应用
    • 客户端会自动注册到 Admin 服务器。
  3. 查看配置信息
    • 在 Admin 界面选择客户端实例 → 点击 “Configuration Properties” → 查看所有配置属性(如 spring, server, application 等)。

4. 关键配置说明

4.1 Actuator 端点暴露
  • 配置项management.endpoints.web.exposure.include
  • 作用:暴露 /actuator 下的端点(如 configpropshealthmetrics)。
  • 示例
    management:
      endpoints:
        web:
          exposure:
            include: "configprops,health,metrics"
    
4.2 客户端注册到 Admin 服务器
  • 配置项spring.boot.admin.client.url
  • 作用:指定 Admin 服务器地址,客户端通过该地址注册。
  • 安全配置(可选):
    spring.boot.admin.client:
      username: admin
      password: admin
    

5. 完整代码示例

5.1 Admin 服务器 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
    <dependencies>
        <!-- Spring Boot Admin Server -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.7.8</version>
        </dependency>
        <!-- Actuator for health endpoints -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>
</project>
5.2 客户端 application.yml
spring:
  boot:
    admin:
      client:
        url: http://localhost:8080
        instance:
          management-url: http://localhost:8081/actuator
management:
  endpoints:
    web:
      exposure:
        include: "*"

6. 功能对比表格

配置项 作用 示例值 适用场景
spring.boot.admin.client.url 指定 Admin 服务器地址 http://localhost:8080 必须配置
management.endpoints.web.exposure.include 暴露 Actuator 端点(如 configprops "configprops,health" 查看配置信息必需
spring.application.name 客户端应用名称(在 Admin 界面显示) my-service 标识应用
management.endpoint.health.show-details 控制健康检查详情是否显示 always 调试时需要详细信息
spring.boot.admin.client.instance.management-url 客户端 Actuator 端点地址(用于 Admin 服务器访问) http://localhost:8081/actuator 必须配置

7. 总结建议

场景 配置关键点 注意事项
基础配置 客户端注册到 Admin 服务器,暴露 configprops 端点 确保网络连通性,端口开放
安全环境 配置用户名密码认证(spring.boot.admin.client.username/password 结合 Spring Security 加密传输
多环境部署 动态配置 spring.boot.admin.client.url(如通过配置中心) 使用环境变量或外部配置文件

8. 常见问题

问题 解决方案
客户端未注册到 Admin 检查 spring.boot.admin.client.url 是否正确,防火墙是否放行端口
配置信息未显示 确保 management.endpoints.web.exposure.include=configprops 已配置
安全认证失败 在 Admin 服务器配置 security 权限,并在客户端传递凭证

如需进一步优化或解决特定问题(如自定义配置过滤、集成 Spring Cloud),可提供具体需求!


网站公告

今日签到

点亮在社区的每一天
去签到