我对这个网站监控完全陌生,所以请多多包涵。
我正在为我的网站寻找一个好的监控服务。我正在尝试做的是确保网站正在运行和工作,而不仅仅是在运行(即响应和工作,而不仅仅是响应)。例如,数据库可能已关闭,因此站点响应但无法正常工作,这意味着每次请求您都会得到一个错误页面,而不是您想要的页面。您通常如何处理这个问题?
在我的应用程序中,我有类似致命错误模式的东西,如果出现应用程序无法恢复的错误(例如当数据库关闭时),那么应用程序将设置为致命错误模式,并将始终转移到一个页面,上面写着“我们遇到了一些技术问题,很快就会重新上线”(这样做是为了避免每次请求都返回错误,这不利于用户体验,同时也是为了避免记录大量错误基本上都是一样的)。
我正在考虑编写一个监控服务应该调用的网络服务。Web 服务应该返回一个布尔值,因此,如果它返回 true,则该站点正在运行,但如果它返回 false,则这意味着有问题。是否有可能找到一个监控服务来检查从 web 服务返回的值并在它不是预期值时通知我?
对不起,很长的问题,感谢您的任何建议
这是指向您可能会发现有用的类似问题的链接:
谁能推荐一个网站监控服务?
您可以制作一个合适的 URL,使用 wget 获取它并检查您返回的内容。通过 cron 或任务调度程序定期运行它,如果有问题,它会通过电子邮件发送给您。
所以你需要一个带有关键字检查的服务(alertsite、alertfox 和大多数其他人都有这个)
只为这一项任务设置 Nagios 会有点矫枉过正,但我的 Nagios 机器完全按照你说的做。它查询某些被编码以提供错误页面的网页。我在错误页面上查找特定文本,如果看到,我会发出警报。
我对 Web 服务做同样的事情。
使用 Nagios 的好处是我会自动获得在正常使用中加载页面所需时间的性能统计信息。
在超级用户上看到这个类似的问题:https ://superuser.com/questions/19126/are-there-any-tools-to-periodically-check-if-a-web-site-is-available/
我使用 SiteUptime 来监控我的服务器。他们提供不同的软件包来监控 HTTP、DNS、SMTP 和其他一些服务。他们的基本软件包仅提供查看服务是否响应的能力 - 不响应并且像您想要的那样工作。
但是,如果您的错误页面提供 503 错误代码,或者您不介意每个显示器每月花费 5 美元,他们可以进行页面内容监控。该服务将监控网页或 URL 以确保页面上显示一个词或一组词。如果页面上没有单词,它将将该服务视为不可用。如果您想通过实现错误处理程序来显示 503 标头来使用它,它们还支持 503 错误(服务不可用)。
更多信息:
http://siteuptime.com
常见问题解答:什么是页面内容监控?