Spring Boot Admin 
标签
SpringBoot
Monitor
字数
782 字
阅读时间
4 分钟
1 简介 
Spring Boot Admin 是一个管理和监控 Spring Boot 应用的开源项目。它提供了可视化界面,用于查看 Spring Boot 应用的健康状态、日志、环境变量等信息,适合于单体或分布式架构下的应用监控。
2 安装与配置 
2.1 引入依赖 
在 pom.xml 中添加 Spring Boot Admin 的依赖:
xml
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>3.3.4</version> <!-- 根据实际版本调整 -->
</dependency>
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>3.3.4</version>
</dependency>2.2 配置 Spring Boot Admin Server 
创建一个 Spring Boot 应用作为 Admin Server。在 application.yml 中进行配置:
yaml
server:
  port: 8080
spring:
  application:
    name: admin-server
spring.boot.admin:
  ui:
    title: "Spring Boot Admin Dashboard"2.3 配置 Admin Client 
在被监控的 Spring Boot 应用中引入 Client 依赖,并配置将应用注册到 Admin Server。
pom.xml 中添加:
xml
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>3.3.4</version>
</dependency>application.yml 中配置:
yaml
spring:
  application:
    name: client-application
spring.boot.admin.client:
  url: http://localhost:8080 # Admin Server 的地址
management:
  endpoints:
    web:
      exposure:
        include: "*"3 启动应用 
- 启动 Spring Boot Admin Server。
- 启动被监控的应用,它们将自动注册到 Admin Server 中。
4 功能详解 
4.1 应用列表 
在 Spring Boot Admin Dashboard 中,你可以看到所有注册到 Admin Server 的应用列表,包括应用名称、状态、健康检查等。
4.2 详细信息 
点击某个应用,可以查看该应用的详细信息,包括:
- 健康状态:显示各个健康检查指标的结果。
- 环境变量:查看应用的环境配置。
- 日志:实时查看和搜索应用日志。
- JVM 指标:展示 JVM 的各项指标,如内存使用情况、GC 等。
4.3 通知 
Spring Boot Admin 支持通过邮件、Slack、Webhook 等方式发送通知,提醒管理员应用的状态变化。
配置邮件通知示例:
yaml
spring.boot.admin.notify:
  mail:
    enabled: true
    from: admin@example.com
    to: admin@example.com
    smtp:
      host: smtp.example.com
      port: 587
      username: your-username
      password: your-password
      properties:
        mail.smtp.starttls.enable: true5 高级配置 
5.1 安全配置 
为了保护 Admin Server 的管理页面,可以配置基本的 HTTP 身份验证:
yaml
spring.security:
  user:
    name: admin
    password: admin5.2 自定义实例显示 
你可以通过设置 spring.boot.admin.metadata 属性来自定义显示的应用信息:
yaml
spring.boot.admin.client:
  instance:
    metadata:
      user.name: "admin-user"
      user.contact: "admin@example.com"6 部署和运维 
6.1 生产环境建议 
- 高可用:使用多实例部署 Admin Server,结合负载均衡器确保高可用性。
- 监控和告警:结合 Spring Boot Admin 与其他监控系统(如 Prometheus、Grafana)搭建完整的监控和告警体系。
7 总结 
Spring Boot Admin 提供了强大的监控和管理功能,使得对 Spring Boot 应用的健康监控、日志分析和配置管理变得更为简便。通过配置 UI、自定义通知、集成安全等功能,可以打造更加全面的应用监控平台。