【问题标题】:Python utility to monitor website uptime (including resources) [closed]用于监控网站正常运行时间(包括资源)的 Python 实用程序 [关闭]
【发布时间】:2011-11-07 20:09:14
【问题描述】:

我希望运行一个实用程序来定期检查我们的网站,以确保它们正常运行并做出响应。 Python 是我首选的快速实用程序环境。

我知道我可以用 urllib2 或其他东西 ping 服务器,但我真的想测试所有资源是否都在那里并且是否可用(CSS、JS、图像等)。类似于浏览器在加载页面时所做的事情——获取 HTML,然后获取所需的资源,并检查任何 400 或 500 错误。

在 Python 中有一些简单的方法可以做到这一点吗?我可能会使用正则表达式来尝试从 HTML 中获取资源 URL,但我不想担心我是否是 doing it wrong

是否有工具或技巧可以完成这项艰巨的工作,还是我必须自己解析 HTML?还是我走错了路?

【问题讨论】:

  • 您会将结果与什么进行比较?它是否必须递归地爬过您的站点,并且每当遇到资源时,它是否会检查资源是否正常返回?我认为这在开发时可能会很耗时。您是否遇到过各种资源消失的问题,或者是其他原因促使您做出该决定?我认为访问主要页面并检查正常的 http 响应代码就足够了。但这只是我。
  • @jlafay:我主要想确保所有 CSS 和 JS 链接都有效。我对解析每个资源的内容不感兴趣,只是确认一切都已启动且可用。有时资源会被移动、重命名、Amazon S3 权限不太正确……无论如何。显然,我们会尽最大努力在更改生效之前进行检查,但我想知道至少所有部分都在那里。

标签: python monitoring


【解决方案1】:

对于可用性监控,我建议使用第 3 方服务,例如 newrelic.comsite24x7.com

如果您想自己开发(如果您只有基本需求,这并不难)只需使用 HTML 解析器并遍历 DOM 以请求您的链接资源。只是不要使用正则表达式。

【讨论】:

  • 要考虑的工具:BeautifulSoupMechanize
  • 我最终自己制作了自己的卷,实际上使用 BeautifulSoup 很容易——大约 40 LOC。基本上它只是请求一个网页,然后获取每个<a><img><script><link> URL(如果有),并确保每个 HTTP 请求都获得一个 200 响应代码。非常适合快速进行健全性检查!
猜你喜欢
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 1970-01-01
相关资源
最近更新 更多