36. Spring Boot 2.1.3.RELEASE 中实现监控信息可视化并添加邮件报警功能

news/2025/2/27 7:42:58

1. 创建 Spring Boot Admin Server 项目

1.1 添加依赖

pom.xml 中添加 Spring Boot Admin Server 和邮件相关依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- Spring Boot Admin Server -->
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-server</artifactId>
        <version>2.1.6</version>
    </dependency>
    <!-- Spring Boot Starter Mail -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
</dependencies>

这里选用 Spring Boot Admin 2.1.6 版本,与 Spring Boot 2.1.3.RELEASE 相对兼容,同时引入邮件启动器用于邮件报警。

1.2 启用 Admin Server

在主应用类添加 @EnableAdminServer 注解:

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

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

2. 配置邮件报警

2.1 配置邮件服务

application.properties 中配置邮件服务器信息:

server.port=8080

# QQ 邮箱 SMTP 服务器地址
spring.mail.host=smtp.qq.com
# QQ 邮箱 SMTP 服务器端口,开启 SSL 时使用 465 或 587
spring.mail.port=587
# 发件人 QQ 邮箱地址
spring.mail.username=your_qq_email@qq.com
# 发件人 QQ 邮箱授权码
spring.mail.password=your_qq_email_authorization_code
# 邮件协议
spring.mail.protocol=smtp
# 开启 STARTTLS 支持
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
# 开启 SMTP 认证
spring.mail.properties.mail.smtp.auth=true

若使用其他邮件服务提供商,需相应修改 hostport 等信息。

2.2 配置 Spring Boot Admin 邮件报警

继续在 application.properties 中添加 Spring Boot Admin 邮件报警配置:

# 启用邮件通知
spring.boot.admin.notify.mail.enabled=true
# 收件人邮箱地址,可以是多个,用逗号分隔
spring.boot.admin.notify.mail.to=recipient_email@example.com
# 发件人邮箱地址,与上面配置的 username 一致
spring.boot.admin.notify.mail.from=your_qq_email@qq.com

3. 将被监控的 Spring Boot 应用注册到 Admin Server

3.1 添加依赖

在被监控的 Spring Boot 应用的 pom.xml 中添加 Spring Boot Admin Client 依赖:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.1.6</version>
</dependency>
3.2 配置客户端

在被监控应用的 application.properties 中添加以下配置:

server.port=8081
# Admin Server 的地址
spring.boot.admin.client.url=http://localhost:8080
# 暴露所有 Actuator 端点
management.endpoints.web.exposure.include=*

4. 启动应用并验证

4.1 启动 Spring Boot Admin Server

运行 AdminServerEmailApplication 类启动 Spring Boot Admin Server。

4.2 启动被监控的 Spring Boot 应用

启动被监控的应用,它会自动注册到 Spring Boot Admin Server。

4.3 验证邮件报警

当被监控应用的状态发生变化(如上线、下线)时,Spring Boot Admin Server 会根据配置发送邮件到指定的收件人邮箱,你可以通过停止和启动被监控应用来验证邮件报警功能是否正常工作。
在这里插入图片描述

在这里插入图片描述

注意事项

  • 邮件服务安全:使用 Gmail 等邮箱服务时,可能需要开启“允许不太安全的应用访问”或使用应用专用密码,以确保能正常发送邮件。
  • 版本兼容性:确保 Spring Boot、Spring Boot Admin 及其他依赖库的版本相互兼容,避免出现版本冲突问题。

http://www.niftyadmin.cn/n/5869742.html

相关文章

用 DeepSeek 打样!KubeSphere LuBan 用 3 天/3 分钟“干掉”大模型部署焦虑

用 DeepSeek 打样&#xff01;KubeSphere LuBan 用 3 天/3 分钟“干掉”大模型部署焦虑 大模型落地&#xff0c;如何告别“部署焦虑”&#xff1f; DeepSeek-R1 的惊艳表现无需赘述&#xff0c;但企业落地时的高门槛却让许多开发者望而却步——复杂的部署流程、资源调度难题、…

通过返回的key值匹配字典中的value值

需求 页面中上面搜索项有获取字典枚举接口&#xff0c;table表格中也有根据key匹配字典中的value 方案一 需要做到的要求 这里上面下拉列表是一个组件获取的字典&#xff0c;下面也是通过字典匹配&#xff0c;所以尽量统一封装一个函数&#xff0c;每个组件保证最少变动tabl…

Spring Data JPA vs MyBatis:ORM框架如何选择?

在选择ORM框架时&#xff0c;Spring Data JPA和MyBatis是两个常见的选择&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是两者的对比&#xff0c;帮助你做出选择&#xff1a; 1. Spring Data JPA 优点&#xff1a; 开发效率高&#xff1a;通过简单的接口定义和…

【TCAD】Sentaurus 中的“陷阱trap”仿真设置

13.1 陷阱类型 13.2 定义陷阱 13.3 陷阱态密度的类型 13.4 陷阱空间分布 13.5 陷阱占据 13.6 陷阱横截面 13.7 陷阱作为掺杂 13.8 陷阱填充控制 13.9 陷阱可视化 目标 演示如何使用 Sentaurus 设备在模拟中使用陷阱。13.1 陷阱类型

adb的安装

1、概念 &#xff08;1&#xff09;adb&#xff08;android debug bridge&#xff09;安卓调试桥&#xff0c;用于完成电脑和手机之间的通信控制。 &#xff08;2&#xff09;xcode来完成对于ios设备的操控&#xff0c;前提是有个mac电脑。 2、adb的安装 &#xff08;1&…

Unity XR-XR Interaction Toolkit开发使用方法(十)组件介绍(XR Interaction Group)

目录 一、插件介绍 二、主要组件 XR Interaction Manager XR Controller XR Interactor XR Direct Interactor XR Ray Interactor XR Socket Interactor XR Gaze Interactor 三、XR Interaction Group 1、组件介绍 2、核心功能与特点 优先级与冲突管理 动态交互切…

Android内存优化指南:从数据结构到5R法则的全面策略

目录 一、APP 内存限制 二、内存的三大问题 2.1、内存抖动(Memory Churn) 2.1.1 频繁创建短生命周期对象 2.1.2 系统API或第三方库的不合理使用 2.1.3 Handler使用不当 2.2、内存泄漏(Memory Leak) 2.2.1 静态变量持有Activity或Context引用 2.2.2 未取消的回调或…

【AGI】DeepSeek开源周:The whale is making waves!

DeepSeek开源周&#xff1a;The whale is making waves&#xff01; 思维火花引言一、DeepSeek模型体系的技术演进1. 通用语言模型&#xff1a;DeepSeek-V3系列2. 推理优化模型&#xff1a;DeepSeek-R1系列3. 多模态模型&#xff1a;Janus系列 二、开源周三大工具库的技术解析1…