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文件中,你已经可以拿到警报信息了,直接把警报内容通知给你们公司的接口不就行了吗。就跟邮件通知一样。