我已经在这里通过论坛阅读,并想知道在监测“整个”网站的状态最好的做法是什么? (而不仅仅是主页)就优先级而言,如果您的主页closures,通常您的整个网站都closures了。 但在更细粒度的层面上,我想知道如何监控我们的网站的部分或页面是否没有响应。
我们没有像webmetrics或gomez这样的高端工具的预算。 我看过pingdom和bello,这两个工具似乎只是检查您的主页是否正常运行。
我们是一家窗口店,拥有一个300,000多个页面的网站。 我知道监视每个页面是不现实的。 只是运行一个脚本来检查网站上的主页是否已经启动,是否有意义? 例如,如果我们检查主服装页面是否打开,那么我们可以假设它的子页面(男装,女装)也在起作用。
任何build议将不胜感激。 谢谢!
你可以使用Nagios。 有一个check_http插件,你可以使用多次。 给一个实例一个http:// myserver /的URL,另一个http:// myserver / apparel , http:// myserver / hardware的三分之一等。还给一个http://myserver.mydomain的实例。 com来检查FQDN的使用情况。
从check_http文档:这个插件将尝试打开与主机的HTTP连接。 成功连接返回STATE_OK,拒绝和超时返回STATE_CRITICAL其他错误返回STATE_UNKNOWN。 成功连接,但来自主机的不正确的响应消息导致STATE_WARNING返回值。
在Apache中,我确定在IIS(或Windows下的Apache)中,可以将5xx系列错误页面捕获到您自己的处理程序中。 如果您在前面运行varnish / squid / pound,您可以设置一个后备主机,在发生故障时显示特定的页面。 这个备用主机可能是一个非常简单,小型的堆栈web服务器,除了设置你监控的页面状态外什么也不做。 5xx处理程序也可以拦截并logging数据。
我不是5xx错误生成电子邮件/分页的真正粉丝,因为数据库服务器可能已closures,并且您的每个300k页面可能会立即开始产生错误。 然而,拦截处理程序并使用它来编写/修改被监控的页面或状态将会为您节省寻找大量页面样本的麻烦。
虽然它可能不是“最干净的”解决scheme,但是您可以简单地编写一个检查系统中所有不同层的单一(状态)页吗? 如果这个页面返回任何东西,但是某种成功消息,这意味着层中的某处出现故障,您可能会收到警报。
再说一次,不要说这是一个银弹 – 甚至是最强健的解决scheme – 但是如果你需要一些东西,而且需要快速的话,这可能会有用。
Kevin和Malonso的解决scheme听起来都不错
马隆索的解决scheme就像某种“unit testing”,它testing所有的逻辑,连接,权限等等,并给出一个OK或FAIL。 另外,正如凯文所说,拉动一些关键的网页,看到一切顺利…
因为页面可以正确加载, 但不能正常工作。 也许网页加载正常,但数据库停止,一些内容是空的,或一些模块根本不工作,一些内容坏了…
所以我会写一些testing在PHP,或ASP或任何你正在使用的,也拉页与NAGIOS或类似的东西…
一个想法是使用search引擎优化工具包( http://www.iis.net/download/seotoolkit ),它将抓取您网站上的每一页,并报告状态码和内容。
这不仅会给你很好的报告,你以后可以分析,但你甚至可以编写脚本,并监视你的服务器返回的404或500的数量,以便你可以知道哪些页面有问题。
我写了一个博客来展示如何从一个可以作为计划任务添加的命令行轻松完成: http : //blogs.msdn.com/b/carlosag/archive/2009/11/18/iis-seo -toolkit启动新的分析-自动-通code.aspx
您可以尝试http://www.catchpoint.com进行外部监控,类似于webmetrics和gomez,但更直观,更有价值。
您也可以查看www.splunk.com挖掘您的日志,但是这不会告诉您用户是否无法访问您的网站。