我正在编写一份报告,显示我们网站的总停机时间。当用户访问我们的网站并且某些东西不工作(即负载平衡器认为我们的网站没有响应)时,它将访问者发送到“维护”页面。维护页面向数据库记录它已被查看并向访问者显示友好的消息。当我只有失败调用的结果时,计算中断时间段
这意味着,我最终值表看起来像这样:
ReportedOutage
-----------------------
2010-07-30 06:23:18.093
2010-07-30 06:23:18.623
2010-07-30 06:23:18.720
2010-08-02 14:28:07.123
理想情况下,我想运行报告,看到这样的事情:
OutageStart OutageEnd
----------------------- -----------------------
2010-07-30 06:23:18.093 2010-07-30 06:23:18.720
2010-08-02 14:28:07.123 2010-08-02 14:28:07.123
由于我只有日志中的失败记录,因此如何计算各种中断的长度?我可以从MIN(Reported)
开始,但是我必须找到系列中的最后一条记录,以便在下一条记录之间有一段时间。
有关如何做到这一点的任何想法?我意识到我可以创建一个流程,每分钟检查一次该站点并记录中断和成功,这将使这更容易,但我试图在添加另一个步骤之前使用我已有的工作。
您正在使用哪些DBMS--以及中断时隙中的多少构成“新的中断”? – 2010-08-02 21:56:03
我正在使用T-SQL,但我对这种方法更感兴趣。现在我又看了一遍,看起来很简单,因为我会在两次通知之间选择一段时间,我会考虑“返回在线”并从那里开始。 – SqlRyan 2010-08-02 21:59:05