Pinpoint2.2.1配置邮件提醒的配置过程

最近在pinpoint2.2.1版本上配置了对监控服务的邮件告警功能,发现不是想象中的那么简单,尤其是我们使用的qq企业邮箱,一直报异常

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1

记录一下配置的过程,希望对遇到相同问题的人一些帮助。

1.首先需要知道pinpoint admin用户,最后自己顺着校验的方法源码找到了地方:

在web工程的pinpoint-web-root.properties文件里有一行,这里就是密码,默认的密码就是admin,大家记得部署的时候在自定义的配置文件里修改掉,如果不改的话就是admin,谁都可以上去添加和删除账号

 

2.因为告警是web的功能,所以只需要修改pinpoint的web配置就可以了,如下图标注有几点要注意的,尤其是在腾讯企业邮箱上。

标1的位置和2的位置,这两个地方必须一样,否则安全验证不通过,这个是邮箱防止你发送与发件人地址不同的回复地址。

标3的位置一会儿详细说,这里直接配置是不行的,还需要修改源码,这个也就是腾讯企业邮箱必须配置的地方,否则会报"Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1" 这样的错误

标4的位置这个是在发送出去的邮件里会有一个链接地址,可以跳到pinpoint页面上便于查看的,这里配置错误不影响使用,只是无法跳转

3.来谈谈socketFactory

配置邮箱过程中,按照网上的教程配置好以后无论怎么运行都是"Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1"  这一个错误,感觉再尝试下去也是徒劳,作为一个程序员必须从源码上下手(pinpoint的编译环境搭建其实也是挺折腾人的),有本地可以运行通过的mail示例和源码一定是可以找出解决方法的

首先发送邮件的实现类是:SpringSmtpMailSender,pinpoint里有2个同名的实现类:com.navercorp.pinpoint.web.alarm和com.navercorp.pinpoint.batch.alarm,根据输出的错误日志分析可以知道是来源于com.navercorp.pinpoint.web.alarm.SpringSmtpMailSender,这个类已经标明@Deprecated,应该是后期会把功能迁移到batch上(从后面的配置上就可以看出)。

从下图可以看出实即执行发送使用的是org.springframework.mail.javamail.JavaMailSenderImpl,所有发送参数都在这里面。

这里面的参数是如何设置的呢?当然是通过参数注入。在applicationContext-batch-sender.xml这个文件里,这个文件在batch和web工程下都有同名的,当前版本2.2.1使用的是web工程下的

修改配置文件,增加一行即可

有了注入的定义,还需要配置变量的配置文件,文件也一样在batch和web工程下存在两处同名文件,只需要修改web下的batch-root.properties,看名字以及发送提醒的功能需要在配置文件里打开batch,我觉得以后这些都会迁移到batch里

这样在服务启动的时候就会在参数里添加上alarm.mail.smtp.socketFactory.class这个属性,编译成新的jar包,再看日志,成功发送了。

 

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值