基于 PHP 的站点存活监测项目 一点笔记

项目链接: https://github.com/woshiluo/server_uptime

1 为什么会有这个项目

NovaOJ 的服务器在乌市一中的内网,笔者身为 Oier,不可避免的有去内地培训的情况出现,无法保证及时得知内网的情况

然而市面上绝大多数服务监控通常都支持公网(至少我是只找到了公网的按钮)

轮子好像是有的,但是我 Python 功底薄弱,迫于要搞 Oi,没有时间学习新语言

那就造新轮子吧!

2 如何探测

内网的探测结果要想发到公网只能主动探测

所以可以在内网搞一台监控机器,或者自己监控自己

然后定时运行,将数据发往服务器即可

但是这样子搞,如果监测服务器挂了怎么办?

目前还没有比较优雅的方案,现行方式是超过预定时间的 3 倍没有发来探测结果,定义为 Unknow

3 使用效果及可以考虑的改进

目前该项目已经在 https://api.woshiluo.site/status 运行了长达一个月的时间

除了开始两天出了一点小问题以外,并未出现大的问题

服务存活率是一个一直在服务器中存的但是从未写出来的东西,有时间会加上

可以肯定的是,这种服务监测方式是有效且可行的

目前已知并可能改进的东西有

  • 多个监测结果并到一起发送给 Server 端,之前有因为短时间内请求过多被防火墙视为 DDos 的情况出现
  • 可以考虑将页面变为静态页面减少读写情况
  • 应当探测 SSL 证书相关情况并及时报警
  • 应当将报警发送至 邮箱 / 机器人 上,以便及时知道相关情况
  • 该在市一中放一个备用探测机了……

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

message
account_circle
Please input name.
email
Please input email address.
links