当前位置:首页 > 娱乐

网站监控微信

凌晨两点,网站微信手机在床头柜上震了一下。监控我摸过来一看,网站微信微信弹出一条消息:“【告警】www.example.com 响应超时,监控状态码 0,网站微信已持续 3 分钟。监控”发信人是网站微信我自己搭的监控机器人。那一刻我彻底醒了——网站挂了,监控而我是网站微信被微信叫起来的。

这就是监控“网站监控微信”最直接的用法:把监控系统的告警通道接到微信上。以前大家用邮件、网站微信用短信,监控现在更多人选择微信。网站微信原因不复杂,监控邮件容易被淹没在收件箱里,网站微信短信又贵又容易被运营商拦截。微信不一样,它几乎是你手机上打开率最高的 App,一条带红点的消息很难被忽略。

我最早用的是 UptimeRobot 这类免费服务,它支持邮件和 Webhook。Webhook 是个好东西,它能把告警以 HTTP 请求的形式推出去。微信没有公开的个人号 API,但有两个口子可以用:企业微信应用消息,或者 Server 酱这类中转服务。企业微信最稳,自己注册一个企业,建个应用,拿到 corpid、secret 和 agentid,就能往指定成员发消息。Server 酱更省事,注册后拿到一个 SendKey,往它的接口 POST 一下,微信就收到推送。我两个都试过,企业微信适合团队,Server 酱适合个人。

监控本身用什么?Zabbix、Prometheus 太重,个人站点用 Uptime Kuma 就够了。它是一个开源的监控面板,支持 HTTP、TCP、Ping 等多种检测方式,告警通知里直接内置了企业微信和 Server 酱的模板。我把它跑在一台 1 核 1G 的云服务器上,监控着五个站点和两个 API 接口。检测间隔设成 60 秒,超时 10 秒,连续失败两次才告警——避免网络抖动带来的误报。

有一次真实事故让我对这个组合彻底放心。去年双十一前后,我的一个客户网站突然打不开。Uptime Kuma 在 90 秒内检测到三次失败,立刻通过企业微信推送到我的手机。我点开消息里的链接,直接跳到监控面板,看到是 502 错误。再登录服务器一看,PHP-FPM 进程池满了。重启服务,前后不到四分钟。客户还没发现,问题已经解决了。如果没有微信推送,我可能几小时后才从邮件里看到告警。

微信监控也有坑。企业微信应用消息有频率限制,同一应用每分钟最多发 20 条。如果你的监控项很多,或者网络波动导致大量告警同时触发,消息会被限流。我的做法是加一个聚合层:用 Node-RED 或者简单的 Python 脚本,把 5 分钟内的同类告警合并成一条,再发给微信。另外,微信消息没有已读回执,你无法确认对方是否看到。所以重要告警最好同时走短信或电话,微信只作为第一道提醒。

还有人用微信个人号做监控,通过 itchat 这类库模拟登录。我不推荐。微信对个人号机器人打击很严,账号随时可能被封,而且登录态经常掉。企业微信和 Server 酱是官方或半官方通道,稳定得多。成本也低,企业微信免费,Server 酱每天有免费额度,个人用完全够。

如果你现在还在用邮件收告警,建议花半小时改成微信。步骤不复杂:注册企业微信,创建应用,拿到三个参数;在 Uptime Kuma 里新建通知,填进去,点测试。看到微信弹出“测试消息”那一刻,你会觉得这半小时值了。监控的意义不在于数据多漂亮,而在于出事时你能第一时间知道。微信恰好是最快让你知道的那个通道。

分享到: