0

我正在考虑为我运行的 SaaS 提供网站监控功能。它不需要非常复杂(即没有来自多个位置的检查,没有花哨的报告,并且最多 15-30 分钟的频率)。如果站点以意外的 HTTP 代码响应,只需向管理员发送一封快速电子邮件即可。

我最初的想法是每 15 分钟运行一次 crobjob,并让 PHP 脚本检查每个站点。使用php-multi-curl,我能够平均每秒最多两个站点。对于 10,000 或 20,000 个站点,这可能需要一段时间,所以我的问题是,有什么更好的方法?一个守护进程?多个服务器处理一个中央队列?

我正在寻找可以处理 ping 大量站点而又不会占用过多资源的东西。这不是专门的监控服务——只是现有服务的附加功能。

编辑:了解 Pingdom 和 AreMySitesUp 等服务的运作方式可能会有所帮助。

4

1 回答 1

1

如果 crontab 上的东西足够好,您可以为此编写一个 shellscript。要弄清楚该网站的情况,您可以使用:

curl -w %{http_code} -o /dev/null --silent (your target)

如果域无法访问(无论出于何种原因),它只会返回 http 状态代码或 000。

然后,您使用另一个命令行工具来发送邮件,并且速度非常快。

(我不确定您希望得到的答案有多详细,有关更多详细信息,请发表评论。)

于 2012-05-03T19:01:35.820 回答