为什么我们为共享主机构建了轻量级 Uptime Monitor
Source: Dev.to

今天,有许多工具可以用来监控网站和服务的正常运行时间。然而,它们大多属于两类之一:SaaS 平台,或需要专用 VPS 并伴随复杂设置和持续维护的系统。我们想走一条不同的道路。
我们的目标是构建一个超轻量、现代化的监控系统,使其:
- 即使在共享主机上也能运行,
- 不需要繁重的库或依赖,
- 让用户能够完全掌控自己的数据。
这就是 WebOrbiton 的诞生过程。
Monitoring That’s Too Heavy

有无数由个人开发者或小公司运营的小项目。它们多数是个人网站、业余项目或早期产品,收入不足以支撑购买 VPS 或维持持续的 SaaS 订阅,仅仅用于正常运行时间监控。
与此同时,能够在普通共享主机上可靠运行的监控工具寥寥无几,而能够运行的往往已经过时或不再维护。
WebOrbiton 的工作原理

WebOrbiton 基于 PHP 和 Cron 任务构建,实现了无数据库、无需后台守护进程或工作线程,并且兼容几乎所有支持 PHP 7.4+ 的托管环境。
你不需要成为高级开发者就能部署自己的监控面板。所有关键设置都集中在一个直观的配置文件中。
基本身份
定义项目名称以及用户将看到的视觉标识:
$siteName = "ExampleCorp"; // 您的项目/公司名称
$siteStatus = "Status Monitor"; // 主页面显示的标题
$siteLogoText = "EC"; // 页眉的简短徽标/首字母
智能 SEO
WebOrbiton 会使用动态占位符自动生成搜索引擎和社交媒体的元数据:
// %s 将被当前整体状态替换(例如 Operational、Outage)
$seoTitleTemplate = "{$siteName} Status Monitor - %s";
// 描述使用的占位符:%s(状态),%d(服务数量),%.1f(正常运行时间百分比)
$seoDescriptionTemplate = "{$siteName} real-time status: current status is %s.
We monitor %d services. Average uptime is %.1f%%.";
监控间隔与数据保留
控制数据的粒度以及图表能够回溯的时间范围:
- $monitoringPeriod – 定义实时图表可见的历史时长(例如 “3 hours” 或 “24 hours”)。
- $checkRate – 服务被 ping 的频率;请将其设置为与 Cron 任务的执行间隔相匹配(例如 “2 minutes”)。
模块化功能
WebOrbiton 采用模块化设计。通过在 $modules 数组中将相应项设为 true 即可启用高级功能:
ssl-monitor.php– 监控 SSL 证书并在即将过期时发出警告。long-history.php– 启用长期数据存储(例如 30 天),以展示月度可靠性。zx-updater.php– 推荐使用;可自动为系统更新最新的安全补丁和功能。
你可以在非商业和商业项目中免费使用 WebOrbiton,修改代码以满足自己的需求,并将其用作公司网站、应用、API、在线商店以及产生收入的服务(广告、订阅等)的状态页。无需署名,但如果注明来源我们将不胜感激。
在波兰热情打造

WebOrbiton 由 WebOrbiton 团队自豪地在波兰构建并积极开发。我们的使命是提供可靠的实时状态监控,同时保持轻量、透明且易于部署。