如何设置其他的警报方式

一步一个脚印一个坑 1年前 ⋅ 1263 阅读
ad

hello,大家好

webfunny前端监控系统提供了多种警报方式,如:钉钉,微信,邮箱等;但是依然不能够满足很多小伙伴的警报需求,我们未来会逐步添加支持的。虽然我们没有提供,你们也可自己配置一个警报方式,非常简单,肯定不会难倒如此优秀的的你。

好了,我们来看看如何创建自定义的警报方式吧。

一、首先来看看webfunny是怎么发出警报的吧

大家进入项目根目录下,找到alarm/index.js文件,内容如下:

      // 生成警报内容
      const contentStr = type + "警报!" +
          "您的" + projectType + "项目【" + projectName + "】发出警报:" +
          type + "数量 " + compareStr + " " + limitValue + " 已经发生" + happenCount + "次了,请及时处理。"
      dingDing.config.text.content = contentStr
      weiXin.config.text.content = contentStr
      
      /**发起警报方式 */
      // 1. 通知钉钉机器人
      Utils.postJson(dingDing.url, dingDing.config)  // 钉钉机器人
  
      // 2. 通知微信机器人
      Utils.postJson(weiXin.url, weiXin.config)  // 微信机器人
  
      // 3. 发送邮件通知
      if (users && users.length && accountInfo.emailUser && accountInfo.emailPassword) {
          users.forEach((user) => {
              const email = user.emailName
              sendEmail(email, AlarmNames[type] + "警报!", contentStr, accountInfo.emailUser, accountInfo.emailPassword)
          })
      }

如代码中所示,第一行可以看到 contentStr 这个变量,它是警报的内容。

再往下看,可以看到发起警报的方式,有3种分别为:钉钉、微信、邮件。

二、那么如何增加其他的通知方式呢

我们可以选择钉钉警报方式看下,进入alarm/dingding.js文件看一下,你也可以写一个这样的配置文件,增加一个警报方式就可以了。

module.exports = {
    url: "www.xxx.com", // 钉钉机器人的URL
    config: {
        "msgtype": "text",
        "text": {
            "content": ""
        },
        "at": {
            "atMobiles": [    // 想要@的成员列表
                "000"
            ], 
            "isAtAll": false  // 是否@所有人
        }
      }
  }

三、直接调用你们自己公司的接口

alarm/index.js文件中,你已经可以拿到警报信息了,直接把警报内容通知给你们公司的接口不就行了吗。就跟邮件通知一样。

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 0   收藏 0
  • 一步一个脚印一个坑
    共发布108篇文章 获得4个收藏
全部评论: 0