pinpoint2.X实现邮件告警和钉钉告警

pinpoint2.X实现邮件告警和钉钉告警_第1张图片


前言

这边文章来介绍一下在pinpoint2.x中如何开启告警。

在pinpoint 2.X中引入了默认的告警实现类DefaultAlarmMessageSender。所以我们只需要实现短信发送的接口即可。


说明

上述类封装了发送邮件和短信的方法,目前短信方法的实现仍是空,不过打印了一句话。

 logger.info("can not send sms message.");

然而,邮件发送是有一个实现类来帮我们做告警邮件发送的。他就是:SpringSmtpMailSender。


实现过程

前置条件是,需要创建数据库,增加告警规则,这个相信大家都没问题,不再论述。

确认batch.properties文件中的batch.enable配置为true(默认)。

batch.enable=true

为了避免存在多个pinpoint-web产生并发计算操作,所以需要设置batch.server.ip,为进行计算的pinpoint web ip地址,如果只有一个实例,那就写127.0.0.1。

batch.server.ip=X.X.X.X

和1.x不同,2.x中需要配置参数项:

-Dspring.profiles.active=local,batch

当然,咱们是tomcat启动,所以在catalina.sh中增加 -D ,添加位置,参考截图:

JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=release,batch  -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"

启动时,会有启动日志:

接下来,我们只需要新建一个类,实现SmsSender接口即可。

public class Pinpoint2DingTalkSmsSender implements SmsSender {


  @Override
    public void sendSms(AlarmChecker checker, int sequenceCount, StepExecution stepExecution) {
        ...省略

和1.X不同的是,告警接口多了一个参数,这个我们用不到,也不用管它。在侠梦的开发笔记,回复钉钉获取class和源代码内容。

还是和1.X部署过程相同,我们把两个class文件上传。到WEB-INF/classes/com/navercorp/pinpoint/web/alarm目录下:

在applicationContext-web.xml中增加一个bean.

  
        
    

在/WEB-INF/classes/pinpoint-web.properties配置中新增 web.ding.talk.url属性配置,这个属性就是钉钉的webhok地址。

同样记得改一下文件权限:

chmod 777 ./Pinpoint2DingTalkSmsSender.class
chmod 777 Pinpoint2DingTalkSmsSender$DingResponse.class

重启pinpoint-web工程。

告警效果:

pinpoint2.X实现邮件告警和钉钉告警_第2张图片

web后台debug日志:

pinpoint2.X实现邮件告警和钉钉告警_第3张图片


排查问题

排除是否已经产生告警,但是没有执行自定义的告警发送类:

cat logs/catalina.out |grep 'can not send sms message'

出现这个日志,说明自定义的告警发送类,没有生效,还是执行的EmptySmsSender。检查xml是否配置好了,自定义的告警bean.

如果不确定问题出在哪里,可以把pinpoint-web的debug日志打开,观察是否产生了告警:webapps/ROOT/WEB-INF/classes/profiles/release/log4j.xml

pinpoint2.X实现邮件告警和钉钉告警_第4张图片

后台回复钉钉,获取最新的源码和编译后的class。

●pinpoint2.X安装手册以及如何监控Nginx

pinpoint2.X来了,学不动了?一起来看看有哪些新特性吧

侠说pinpoint-自定义告警推送到钉钉、微信群

●侠梦说pinpoint--左侧服务地图调用量和WasOnly含义

●侠梦说pinpoint--界面上的图标之AgetnInfo数据研究

●侠梦说pinpoint-增加web认证Basic Authentication

侠说pinpoint-自定义告警推送到钉钉、微信群

分布式链路追踪工具pinpoint采样率原理分析

一文带你了解 Thrift,一个可伸缩的跨语言 RPC 框架(pinpoint 源码分析系列)

养成阅后分享转发,“在看”的好习惯

你可能感兴趣的:(pinpoint2.X实现邮件告警和钉钉告警)