Запуская небольшой проект рано или поздно встает вопрос мониторинга его доступности. Хорошо, если у вас уже есть инфраструктура или же вы можете позаимствовать мощности другого проекта (отдельный вопрос — насколько это этично и правильно). Но даже здесь возникает целый ряд вопросов: мониторить нужно постоянно, сам мониторящий ресурс должен быть заведомо стабильным (мы же не хотим мониторить мониторинг мониторинга?), и, по хорошему, осуществлять проверки нужно из нескольких географически распределенных точек. Решений, которые могут решить эту проблему, уже достаточно много. Осталось выбрать что-нибудь красивое, удобное и, по возможности, бесплатное.
Почему бесплатное? Ну ведь если ваш проект разросся и приносит доход — скорее всего вы озаботитесь каким-то своим решением. И даже если нет — выбор из платных ресурсов настолько велик, что это не станет проблемой.
Pingdom
Pingdom - пожалуй один из самых распиареных ресурсов, активно предлагают себя даже в приложениях CloudFlare, что говорит о многом. Но, к сожалению, для меня на этом их преимущества кончились — в бесплатной версии доступно создание лишь одной проверки, что, как показывает сравнение с конкурентами, категорически жадно.
UptimeRobot
По популярности UptimeRobot убедительно занимает второе место. Пожалуй, заслуженно. В бесплатной версии доступно до 50 проверок четырёх разных типов:
- HTTP(s)-запрос с проверкой кода ответа сервера;
- HTTP(s)-запрос с поиском заданного ключевого слова в ответе;
- PING ресурса;
- TCP-SYN проверка на доступность TCP-порта.
Вполне достойный набор. Мечтая об идеальном мониторинге, я бы отметил недостаток regexp-проверки и проверок UDP-портов. Такого функционала, к сожалению, я не видел нигде (self-hosted Nagios/Cacti/Argus/etc — не в счёт).
В отчётах — красивый график доступности. Отчеты — на почту и в RSS-ленте, а за деньги — классические СМСки. Достаточно ли этого? Пожалуй нет, и у UptimeRobot есть целых два мобильных приложения для Android — и вот здесь меня ожидало разочарование. Одно (видимо официальное) оказалось платным с рейтингом в 3 из 5, что отбило у меня желание его испытывать, а второе повело себя странно, не сразу подключилось к аккаунту, а потом ни разу не сообщило мне о даунтаймах.
Вывод, к сожалению, один: или использовать данный сервис на платной подписке с СМСками, или же настраивать почтовый/rss клиент так, чтобы уведомления не затерялись в общем списке.
Monitority
И последний ресурс, не ради которого писалась статья, но о котором я не могу не упомянуть — Monitority. На данный момент они находятся в бете, однако их обещания на главной странице не могут не привлечь к себе — бесплатные аллерты и СМС. Как оно будет на самом деле — покажет время, однако уже сейчас ресурс вполне жизнеспособен. Здесь нет графиков, а уведомление об упавшем сервисе придет вам через Twitter. Оригинально? Безусловно. Должен заметить, что на проверочный даунтайм этот ресурс среагировал быстрее конкурентов (спасибо Твиттеру?), за что ему отдельный респект.
StatusCake
Ну и наконец — победитель по моей версии, ресурс, на котором я остановился на данный момент и куда забил полный список всех моих веб- и не-только-веб- серверов - StatusCake.
Признаюсь, я купился на красивый дашборд. Красиво, информативно, с возможностью быстро отфильтровать результаты по тегу или названию. Именно такого дашборда мне не хватало в корпоративных Zabbix’ах, Zenoss’ах и Nagios’ах. За что ребятам из StatusCake большое и искреннее спасибо.
С платным аккаунтом приходит возможность опрашивать сервер каждую минуту и вручную выбирать с каких серверов он будет опрошен. Есть и множество других (бесполезных?) фич, вроде безлимитных API-запросов (зачем? мониторинг мониторинга?), «проверки на вирусы» (…) и т.д. Тот случай, когда бесплатный аккаунт даёт всё, что может понадобиться при пользовании сервисом.
Торт? Однозначно. Не обошлось правда без ложки дёгтя: существующее Android-приложение настолько убого, что разработчики скромно умалчивают о том, что оно вообще существует в Play.Market. И не даром: никаких уведомлений, оно не в состоянии даже запомнить логин-пароль от аккаунта и их приходится вводить при каждом запуске. Однако, не всё так плохо, и разработчики пошли по пути интеграции уведомлений со сторонними сервисами. И вот здесь — всё более чем шикарно.
Напоследок
Если у вас небольшой проект и вы еще не обзавелись большой инфраструктурой для продвинутого мониторинга, или же вы уже проверяете свои сервера «изнутри» и просто хотите добавить дополнительные проверки из сторонних источников — это возможно без дополнительных финансовых вливаний. Считается, что самое надежное оповещение — это оповещение по СМС, но я с этим не соглашусь. В двух случаях из трёх сообщение в Twitter я получал гораздо быстрее, чем СМС, не говоря о случаях, когда СМСки просто терялись в дороге.
P.S.
А еще можно поставить куда-нибудь такую красивую кнопку, когда-то это было очень модно, правда?