为什么我们为共享主机构建了轻量级 Uptime Monitor

发布: (2025年12月21日 GMT+8 03:02)
5 min read
原文: Dev.to

Source: Dev.to

Cover image for Why We Built a Lightweight Uptime Monitor for Shared Hosting

今天,有许多工具可以用来监控网站和服务的正常运行时间。然而,它们大多属于两类之一:SaaS 平台,或需要专用 VPS 并伴随复杂设置和持续维护的系统。我们想走一条不同的道路。

我们的目标是构建一个超轻量、现代化的监控系统,使其:

  • 即使在共享主机上也能运行,
  • 不需要繁重的库或依赖,
  • 让用户能够完全掌控自己的数据。

这就是 WebOrbiton 的诞生过程。

Monitoring That’s Too Heavy

WebOrbiton Files

有无数由个人开发者或小公司运营的小项目。它们多数是个人网站、业余项目或早期产品,收入不足以支撑购买 VPS 或维持持续的 SaaS 订阅,仅仅用于正常运行时间监控。

与此同时,能够在普通共享主机上可靠运行的监控工具寥寥无几,而能够运行的往往已经过时或不再维护。

WebOrbiton 的工作原理

Example Config

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、在线商店以及产生收入的服务(广告、订阅等)的状态页。无需署名,但如果注明来源我们将不胜感激。

在波兰热情打造

Website

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

Back to Blog

相关文章

阅读更多 »