欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot Admin监控服务上下线邮件通知

程序员文章站 2022-07-07 14:42:56
...

转载自:http://cxytiandi.com/blog/detail/13376   https://my.oschina.net/lsf930709/blog/847720

叙述

微服务架构下,服务的数量少则几十,多则上百,对服务的监控必不可少。

如果是以前的单体项目,启动了几个项目是固定的,可以通过第三方的监控工具对其进行监控,然后实时告警。

在微服务下,服务数量太多,并且可以随时扩展,这个时候第三方的监控功能就不适用了,我们可以通过Spring Boot Admin连接注册中心来查看服务状态,这个只能在页面查看。

很多时候更希望能够自动监控,通过邮件告警,某某服务下线了这样的功能。在Spring Boot Admin中其实已经有这样的功能了,我们只需要配置一些邮件的信息就可以使用。

环境

首先引入邮件需要的依赖:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

配置

然后在配置文件中增加邮件服务器的信息:

spring.mail.host=smtp.qq.com
aaa@qq.com
spring.mail.password=qq邮箱的授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
# 发送给谁
aaa@qq.com
# 是谁发送出去的
aaa@qq.com

配置完成之后,当服务上线下线的时候,您的邮箱就可以收到邮件啦。

Spring Boot Admin监控服务上下线邮件通知

异常

附,可能会遇到的异常:

Caused by: javax.mail.AuthenticationFailedException: 535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£ÏêÇéÇë¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

	at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:932)
	at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:843)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:748)
	at javax.mail.Service.connect(Service.java:366)
	at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:501)
	at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:421)
	... 32 more

遇到这个异常的时候不要着急,是因为还没有去邮箱那里设置开启POP3/SMTP服务,操作步骤如下:

邮箱—>设置—>账户,然后拉下来,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

开启服务:POP3/SMTP服务

开启好了POP3/SMTP服务之后,会有一个授权码,这个授权码就是上述说到的spring.mail.password