Я пишу отчет, который показывает общее время простоя нашего сайта.Когда пользователь посещает наш сайт и что-то не работает (т.е. балансировщик нагрузки считает, что наш сайт не отвечает), он отправляет посетителей на страницу «Техническое обслуживание».Страница обслуживания регистрирует в базе данных, что она была просмотрена, и отображает дружеское сообщение для посетителя.
Это означает, что я получаю таблицу значений, которая выглядит следующим образом:
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)
, но затем мне нужно найти последнюю запись в серии, чтобы между следующей записью был промежуток времени.
Есть мысли о том, как это сделать?Я понимаю, что могу создать процесс для проверки сайта каждую минуту и фиксировать простои и успехи, что облегчит эту задачу, но я пытаюсь работать с тем, что у меня есть, прежде чем добавить еще один шаг.