我正在考虑为我运行的 SaaS 提供网站监控功能。它不需要非常复杂(即没有来自多个位置的检查,没有花哨的报告,并且最多 15-30 分钟的频率)。如果站点以意外的 HTTP 代码响应,只需向管理员发送一封快速电子邮件即可。
我最初的想法是每 15 分钟运行一次 crobjob,并让 PHP 脚本检查每个站点。使用php-multi-curl,我能够平均每秒最多两个站点。对于 10,000 或 20,000 个站点,这可能需要一段时间,所以我的问题是,有什么更好的方法?一个守护进程?多个服务器处理一个中央队列?
我正在寻找可以处理 ping 大量站点而又不会占用过多资源的东西。这不是专门的监控服务——只是现有服务的附加功能。
编辑:了解 Pingdom 和 AreMySitesUp 等服务的运作方式可能会有所帮助。