实现一个简易的接口预警系统有什么好方式

2021-07-24 09:44:11 +08:00
 cs5117155

我是一个 web 方。硬件会每隔 30s 就发送一次心跳(curl ) GET 的方式到我 web 网站。 目前我想记录每个设备编号发送的心跳是否稳定,是否有时候长达两分钟也没有发送心跳。 或者请求我系统某些系统 api 出错了。 然后我 web 系统发出一个预警,有什么好的方式实现吗

3404 次点击
所在节点    PHP
16 条回复
xuanbg
2021-07-24 09:48:19 +08:00
发邮件,发短信,发钉钉消息
Views
2021-07-24 10:10:08 +08:00
可以加一个消息中间件,由消息中间件判断,如果请求正常就转发到 web,如果不正常就发邮件
gouki
2021-07-24 10:38:12 +08:00
曾经偷懒过,分了两部走
1 、API (硬件请求的网址)里用 redis 的 incr 。一个 API 一个 KEY:HINCRBY key date 1
2 、你可以 crontab 来每 10 秒运行一下看每个 KEY,每个 DATE 是否正常( 今天的秒数 / 30 是否 = 你的值)

这个是比较偷懒的方法了
ccde8259
2021-07-24 12:28:46 +08:00
Prometheus
ericgui
2021-07-24 13:28:31 +08:00
时序数据库?
siweipancc
2021-07-24 13:31:18 +08:00
redis 有个过期通知,订阅单个 key 的 2 分钟过期通知即可,但是需要在配置文件修改,默认是不开启的。
wellsc
2021-07-24 13:46:51 +08:00
prometheus alertmanager
lniwn
2021-07-24 16:37:14 +08:00
@gouki 3 、检测到异常后通知开发人员,推荐 Bark 、Server 酱、钉钉
kekxv
2021-07-24 16:45:17 +08:00
把手机号码放在页面显眼的地方🐶
shiny
2021-07-24 18:03:40 +08:00
量少的话,直接用现成的云监控
009694
2021-07-24 18:35:45 +08:00
(单纯只依赖语言自带库的话 py 我会选择用 asyncio
ForkNMB
2021-07-26 09:45:32 +08:00
redis 过期时间不靠谱 还不如 zset+定时器
securityCoding
2021-07-26 10:34:45 +08:00
消息队列延时消息
cs5117155
2021-07-26 17:59:38 +08:00
@wellsc 这个觉得用起来比较复杂吧,维护成本大
Aluhao
2021-08-06 08:38:58 +08:00
整个 Telegram 机器人,给自己推送消息。
win7pro
2021-10-17 22:49:11 +08:00
整个 喵提醒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/791464

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX