Okerr - сервис удаленного мониторинга с открытым интерфейсом. Упрощенно говоря - это "Nagios в облаке" (ну или "Zabbix в облаке").

Преимущества, которые есть

Okerr использует схему с внешним сервером мониторинга (контрольная панель расположена по адресу https://cp.okerr.com). Это дает следующие преимущества:

  • Не требуется установки серверной части. Нет риска, что что-то не поставится, что-то с чем-то будет несовместимо.
  • Не требуется обслуживание серверной части. Мы сами все обновляем, если что-то вдруг упадет - мы сами поднимем.
  • Возможно более точное обнаружение проблем, имеющих сетевую природу (Например, вебсайт хорошо работает из локальной сети, но недоступен из Интернета). Это позволяет наблюдать более реальные явления, а не предположения ("Если сайт доступен из локальной сети, будем предполагать, что он доступен из Интернета").
  • Проблема будет обнаружена и выслано оповещение, даже в случае, когда сама проблема блокирует доставку оповещений. (Например, упал почтовый сервер, или канал из дата-центра)
  • Используется подход "heartbeat/watchdog": о каждом наблюдаемом пассивном индикаторе, должны регулярно подходить подтверждения. Нет подтверждений в течение долгого времени - поднимается тревога.

Недостатки, которых нет

Внешний мониторинг может иметь определенные недостатки, которые мы учли и постарались избавиться:

  • Наблюдаемые сервисы могут иметь динамические IP, располагаться за NAT, иметь приватные адреса. (При использовании внутренних проверок)
  • Расширяемость. Okerr имеет встроенную поддержку множества типовых проверок, и очень легко расширяется. Новые проверки можно писать как на встроенном языке описания проверок, так и на любом языке программирования. После того как пользовательская программа выполнила проверку, она может отправить результаты на сервер любым из следующих способов:
    • Вызвав программу okerrclient с нужными параметрами
    • Самостоятельно составив и отправив HTTP запрос
    • Отправив письмо в специальном формате по SMTP

Для последних двух вариантов - установка клиентского ПО на наблюдаемый сервер не требуется.