我正在考虑为我运行的SaaS提供网站监控功能。它不需要非常复杂(即,没有来自多个位置的检查,没有花哨的报告,并且最多15-30分钟的频率)。如果站点以意外的HTTP代码响应,只需向管理员发送快速电子邮件即可。
我最初的想法是每15分钟运行一次crobjob并让PHP脚本检查每个站点。使用php-multi-curl,我可以平均每秒最多两个网站。对于10,000或20,000个站点,这可能需要一段时间,所以我的问题是,什么是更好的方法?一个守护进程?多个服务器处理中央队列?
我正在寻找可以处理大量网站ping而不会过于资源密集的东西。这不是专用的监控服务 - 只是现有服务的附加功能。
编辑:了解Pingdom和AreMySitesUp等服务的运作方式可能会有所帮助。
答案 0 :(得分:1)
如果在crontab上有东西就足够了,你可以写一个shellcript。要了解网站的使用方式,您可以使用:
curl -w %{http_code} -o /dev/null --silent (your target)
如果域无法访问(无论出于何种原因),它将只返回http状态代码或000.
然后使用另一个命令行工具发送邮件,速度非常快。
(我不确定你想要答案的详细程度,更多细节请留言。)