前言

提到监控,大家想到的大概是 UptimeRobot ,个人免费 50 个站点,而且监控页面也很炫酷

但是有个缺点就是似乎定制域名的功能要付费?

试过把站点扒下来,但是好像有 CORS 的跨域问题((((

最近几天,朋友那里发现了一款替代品,这页面感觉比 UptimeRobot 还炫酷 *

成品:Zkeq の 监控云台 (icodeq.com)

见图 👀

1

后台也十分好看 ~

2

详情页面

3

并且还实现了微信推送的功能

4

实现步骤

搭建部分

项目地址

Replit 推荐部署仓库:https://github.com/valetzx/uptimekumaonreplit

直接跟教程搭建即可,重点讲一下怎么把推送发到 【正常微信】。

内置一个企业微信通道,但是正常人谁用那玩意啊))))

这里用到的一个项目是方糖的开源版(因为我穷,学生嘛,理解一下))

  • https://github.com/easychen/wecomchan

    easychen/wecomchan: 通过企业微信向微信推送消息的配置文档、直推函数和可自行搭建的在线服务代码。可以看成Server酱的开源替代方案之一。

其实这个项目里面的 README.md 写的已经很清楚了,甚至连用法都有……

那么感觉也没啥讲的,直接讲怎么搭建实现吧。

首先去按教程

配置好自己的企业微信,那么我们可以拿到这么几个字段

就这三个字段就够了

然后去写一下 FastAPI 的配置

  • 这个经过我加工了一下….支持了 redis 缓存,需要 Redis 环境

  • loguru 记录日志

  • subprocess 用于启动 Redis

  • FastAPI 主要框架

  • uvicorn Fast API 启动器

  • )不过,我推荐使用 Replit 直接部署,把以下文件直接复制粘贴进去,点 RUN 就行了()(不行的话来评论区

.\main.py

日志功能

.\logger.py

.\redis.conf

.\replit.nix (若 使用的 Replit)

.\.replit

OK,跑起来之后,就实现了自动刷新缓存 token 推送微信的功能

Try Post 发送请求至部署的地址

应该可以收到消息了,那么这么一个推送端我们就搭好了

只需要对接 Uptime 就 OK 了,我选择的是改造 pushbullet.js 这个推送源(里面的推送网址改成你的)

.\server\notification-providers\pushbullet.js

因为我技术菜,所以这里多引入了一个库 qs ,需要引入一下

package.json

ok,这样部署好了,但是我们还缺少一个参数

  • wecom_touid :到底要发给谁呢?
  • 你可以选这两种方式 : @all 推送给所有关注服务的人,也可以填用户 ID

用户ID在这里看

5

里面的

6

这个就是 用户 ID ,成功将监控项目跑起来之后

添加通知项,选择 pushbullet 里面的 Access Token

  • 要通知的 用户 ID

  • @all

点击测试,能收到消息即搭建成功


顺便提一嘴

方糖的 PushDeer 也对接成功了

还是那个文件

.\server\notification-providers\pushbullet.js

这个针对方糖的订阅用户((

还是那个 pushbullet 通道,Access Token 填成你的就行

类似于

  • SCT888888XXXXXXXXXXXXXXXXXXXXXXX

这种的,填上测试一下,如果收到消息即对接成功(老规矩要先加上那个 qs 的库)


有问题评论区联系(