2012-08-23 22 views
0

我正在监视网站(使用curl)以查看它是否已启动并知道主页上简单GET请求的响应时间。我正在使用自制脚本来做到这一点,我不想使用Nagios或任何其他现有的工具。如何检查网站是否启动并长时间存储结果

我的问题是,我不知道如何将结果存储很长一段时间(比如说几个月)。我不需要每个请求的响应时间,因为当然是时代,但我想获得大时间段的状态(上/下)和平均响应时间。 例如:

  1. [上个月] - >每日响应时间(平均)
  2. [最近3个月] - >每周响应时间(平均)
  3. [过去12个月] - >每月响应时间(平均)

并且整个期间,我想保持状态。为此,我会保存最后一次日期,当我发生状态更改时。

所以问题是:以这种频率/保留存储这种信息的最佳方式是什么?我在PHP中编写了一个Mysql数据库,但也许有比DB更好的东西?

任何语言/技术都可以接受,只要它在linux/unix上免费运行即可。

谢谢

+0

您已经有了最好的工具。你的解决方案是最理想的。 –

回答

1

这听起来像一个典型的循环法数据库。 RRDtool允许你管理这样的数据库。我没有看到重新发明车轮的理由。

+0

我过去使用过RRDtools,但我想在这里创建自己的解决方案,以便真正理解正在发生的事情,并获得对后面运行的代码的更多控制。但考虑到这种工具的复杂性,我最终会选择RRDtools。谢谢。 –

1

保存每一个请求到数据库表和calcualte daily response time (avg)weekly response time (avg)monthly response time (avg)写简单的PHP函数。

如果你只存储响应时间和请求日期,你的表不会快速增长,并且正确的索引会运行得很快。