SpringBoot - 使用Spring Boot Admin进行服务监控教程2(邮件报警、上下线通知)
虽然使用 Admin Server 可以实现监控信息可视化,但运维人物不可能一天 24 小时盯着屏幕查看各个应用的运行情况,所以最好的做法就是在应用运行出问题时能自动发邮件通知运维人员,Spring Boot 同样对该功能提供了相应的支持,下面通过样例进行演示。
3,运行测试
(1)重启启动 Admin Server,以及被监控的应用(Client)。当我们关闭被监控应用时,就会收到应用下线的邮件报警:
1,添加依赖
首先编辑项目的 pom.xml 文件,添加邮件发送依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
2,配置基本信息
接下来编辑 application.properties 文件,在里面配置邮件发送基本信息:
(1)上半部分为邮件发送的基本配置,具体可以参考我之前写的文章:
(2)下半部分是本文新增的关于邮件报警的配置。当被监控应用的状态变为 UNKNOWN 或者 UP 时不会发送报警邮件,这里的配置表示被监控应用的任何变化都会发送报警邮件。
(2)下半部分是本文新增的关于邮件报警的配置。当被监控应用的状态变为 UNKNOWN 或者 UP 时不会发送报警邮件,这里的配置表示被监控应用的任何变化都会发送报警邮件。
# 配置邮件服务器的地址
spring.mail.host=smtp.qq.com
# 配置邮件服务器的端口(465或587)
spring.mail.port=465
# 配置用户的账号
spring.mail.username=123@qq.com
# 配置用户的密码(即上面我们申请到的授权码)
spring.mail.password=qgczjydhuqytbbbb
# 配置默认编码
spring.mail.default-encoding=UTF-8
# SSL 连接配置
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
# 开启 debug,这样方便开发者查看邮件发送日志
spring.mail.properties.mail.debug=true
# 报警邮件的发送者
spring.boot.admin.notify.mail.from=123@qq.com
# 报警邮件的收件人
spring.boot.admin.notify.mail.to=hangge@163.com
# 报警邮件的抄送地址
spring.boot.admin.notify.mail.cc=service@hangge.com
# 报警邮件的忽略掉的事件
spring.boot.admin.notify.ignore-changes=
3,运行测试
(1)重启启动 Admin Server,以及被监控的应用(Client)。当我们关闭被监控应用时,就会收到应用下线的邮件报警:

(2)而再次启动被监控应用,又回收到应用上线的邮件报警:
