Система оповещения о сбоях на сервере

После нескольких зависаний метеостанции возникла идея об автоматическом оповещении при каких-то проблемах с ней (т.е. прекращении поступления данных). На хостинге есть возможность настроить CRON-события, на них и родилась система мониторинга.

Мониторится 2 события:

  1. Отключение сервера более чем на 15 минут.
  2. Остановка поступления данных от метеостанции более чем на 15 минут.

Скрипт, написанный на PHP, запускается каждые 10 минут и при каждом запуске смотрит время последней записи в своем логе, проверяет сколько прошло с того момента времени, и делает вывод не было ли отключений сервера.

В случае отключения делает соответствующее событие в лог и посылает eMail на адрес администратора.

Вторым этапом смотрится лог метеостанции и ищется время последней записи в ней. Опять-таки при превышении интервала отправляется письмо администратору.

В логике сделана защита от флуда на адрес (сообщение об ошибке отправляется только один раз).

Бонусом сделано оповещение через SMS при помощи сервиса sms.ru.

Теперь жду первого сбоя, чтобы проверить работоспособность системы в целом.

Файлы

Скрипт проверки.

Original: http://igorkov.org/http-alert,
Author: igorkov