2011-05-05 81 views
3

我需要一个工具来监控我的web应用程序。问题是由于内存不足或数据库问题,登录后这些应用程序可能会失败,但主网页通常没问题。那么只需访问一个url的简单测试就不会检测到问题。可编写脚本的网站监控工具

众所周知的免费托管解决方案对我来说是不可用的,因为我需要使用用户名和密码登录到每个网站,并且我无法将此信息提供给公司以外的任何人。

该工具应做到以下几点:

  • 跑了几步像登录,执行简单的查询,注销
  • 用简单的正则表达式检查HTTP响应
  • 应与工作HTTP和HTTPS
  • 在Linux上运行

有几种功能测试工具可以完成像JM这样的工作eter,Selenium,Canoo Webtest,但这些对我的要求来说似乎过分了。有一个更简单的解决方案吗?

+1

难道您不能使用零权限为您的Web应用程序创建演示帐户使用免费的托管解决方案? – 2011-05-05 08:17:55

+0

我不知道一个免费的网络监控服务,它允许脚本(登录,查询,检查结果,注销)。除此之外,即使最小的特权也会泄露私人信息,因此组织外的任何第三方服务都不是一种选择。 – nn4l 2011-05-06 07:34:28

回答

2

这听起来像你只需要一些东西来ping你的服务器,并确保每个页面都返回200.你可以看看一个简单的服务器监视器(Nagios等),不需要登录要求。

如果你想走功能工具的路线,我可以在每个系统上创建一个测试账户来使用免费的基于网络的工具;或者使用Jmeter,因为您可以创建一个快速登录的蜘蛛,并通过网站(触摸每个网址)或执行一些操作。

使用JMeter,您还可以轻松添加除http 200响应之外的断言。

+0

电表脚本+1 – 2011-05-06 08:29:08

0

著名的免费托管解决方案是不可用的我,因为我需要登录使用的用户名和密码,每个网站,

你尝试AlertFox了吗?他们的免费计划包括基于浏览器的网站监控(“真正的浏览器监控”)。您可以使用iMacros来脚本进行多页事务测试并在AlertFox上运行它们。这包括自动登录和其他表单填写。

http://www.alertfox.com/free-website-monitoring/

另外,您可以为本地安装使用Nagios结合硒或iMacros的(免费的浏览器插件)(check_selenium等)。

0

如果你真的想自己运行的一切,我会建议JMeter的,尽管它似乎矫枉过正,这是真的很完整,灵活的,如果您不需要复杂的事情,这也很容易安装。一切都可以使用他们的GUI完成。 (如果您对正则表达式有所了解)

您的主要挑战将是如何将JMeter与某种事情联系起来,以便在出现任何问题时提醒您,因此作为监控服务的创建者,我偏向于涉及使用托管的工具,因此您可以利用通知,冗余和报告。 我能想到的几个解决方案,让您的密码等。同时仍然使用远程监控服务:

  • 在您的网站上创建一个单独的页面,该页面执行所有关键操作,但仅仅因为不提供任何相关内容。例如只要它输出一个关键字和每个操作的状态,如果它成功。然后,您可以在页面上使用远程监控服务调用,并使用正则表达式解析出这些关键字,并将每个关键字的状态作为单独数据进行收集。
  • 类似的是使用您构建网站的语言来调用它自己的URL并执行正则表达式部分并再次构建状态概览。然而这确实带来了URL的本地调用的缺陷,所以防火墙规则等可能与真实用户不同

另一种方式是只运行调用您的网站的部分自己的VPS(或最好是多个),你可以保护你喜欢的方式。并将结果发送到我们这样的监控服务的API(https://observu.com/docs/api)使用正则表达式进行实际读取,查询和测试的脚本可以使用您熟悉的任何语言。 (或者你可以直接调用JMeter的结果)

这里的优点是你可以从多个远程位置调用你的脚本,同时仍然保持对密码的控制。 (鉴于您要么远程拥有自己的数据中心,要么至少相信亚马逊或任何其他提供商足以在小型虚拟实例中拥有您的密码)