手把手教你免费用Flashduty做消息通知
guguji5
2024-02-01 03:06:10
为什么需要消息通知?
如果有重要的情况发生,希望能通过各种媒介通知我们。可以举几个例子:
- 家里燃气费没有了,希望能有短信或者app通知
- api频繁500报错,希望及时感知,及时修复
- 公司网站是https自签名证书,为了保证可用性,每天会有e2e测试保证证书的有效性,如果过期及时通知
为什么不用腾讯云/阿里云等云服务而用Flashduty?
因为它们很贵且没有免费额度,还需要实名认证,相比之下Flashduty注册简单,不用实名认证,且有免费额度。
Flashduty支持哪些告警渠道?
目前支持电话、微信机器人、企业微信、钉钉、飞书、短信、邮件、Slack、Zoom、Telegram等(更多方式在不断开发中)。下面就来看看具体如何操作吧,用不了 5 分钟。
1.注册Flashduty
很简单,只需要打开 https://console.flashcat.cloud/login 收一个验证码就搞定了
2.设置通知策略
登录后,进入 https://console.flashcat.cloud/channel 点击【创建协作空间】。协作空间是通知和协作的基本单位,FlashDuty 主要用处是做告警事件的协同 OnCall 处理,咱们这里是想白嫖其消息通道能力,所以随便创建个默认协作空间即可。实际对于新注册用户,FlashDuty 会自动引导你创建,直接点击下一步下一步即可。
创建协作空间的第二步,设定分派(通知)策略按下图配置就好。Flashduty的分派策略非常灵活,可以遵循个人,也可以遵循团队,还有可以设置不同的优先级,不同的IM渠道,简单起见,可以先按下图的配置保存就好。
选择自定义事件,点击【保存】。这意味着生成了一个专属于你的 integration key,每次只要往这个地址发请求,Flashduty 就会收到。
3.推送消息并查看效果
简简单单一个curl,里边内容可以自定义,收到内容的模版也可以自定义。
curl -X POST 'https://api.flashcat.cloud/event/push/alert/standard?integration_key=04ed7d2d06d3549a8079489a1ad76b0xxx' \
-H 'Content-Type: application/json' \
-d '{
"event_status": "Warning",
"alert_key": "1",
"description": "测试告警",
"title_rule": "手把手教你白嫖Flashduty做消息通知",
"event_time": 1706614721,
"labels": {
"name":"guguji5",
"env":"prod"
}
}' -v
效果如下图,全程不超过5分钟,如果有需要的可以尝试一下。