Как и что можно проверять облачными сервисами? Обзор сервиса ХостТрекер. Часть 2

Компания ХостТрекер началась с простенького сайта на базе не менее простенького скрипта, предоставлявшего бесплатные услуги всем желающим. Но за несколько лет работы сервис, развиваясь как стартап, обзавелся солидным инструментарием для решения разнообразных задач людей, так или иначе причастных к Сети. В серии публикаций мы решили подробно описать функции нашего сервиса, поделиться опытом развития подобных проектов, упомянуть интересные задачи, с которыми нам пришлось столкнуться. Отметим, что зачастую разработка новых функций происходит с оглядкой на наши личные потребности, поэтому наша история может еще стать хорошим примером того, как «продать то, что сделано для себя».

81b66be679b94816871140d72a244f75.jpg

Все ли дело в наборе функций?


В предыдущей части обзора описывалась история сервиса, а также наиболее базовая функция — регулярная проверка сайтов и серверов и оповещения о их работоспособности. Начиная повествование о более продвинутых функциях, необходимо рассказать откуда вообще берутся идеи и как расставляются приоритеты. Один из секретов, о которых часто упоминают бизнесмены, работающие в сфере услуг, и которому будет посвящено следующие несколько строк, звучит так: «все люди уникальные». Все клиентские запросы индивидуальны, и нужно научиться с этим жить. В сфере ИТ это ощущается особенно остро: из-за большого количества незаурядных личностей и разнообразного опыта, которым они обладают. Впрочем, не редко получается придумать способ, которым удается решить проблему клиента уже имеющимися средствами. Но часто приходится что-то допиливать напильником — и в этом и кроется главная особенность подобной деятельности. Множество функций ХостТрекера были разработаны или адаптированы под нужды конкретных людей и для их удобства. В число этих людей входим и мы сами — обладая довольно большой инфраструктурой, нам тоже необходимо, чтобы все исправно работало. Поэтому мы сами являемся наиболее прихотливым клиентом.

Мелочь, а приятно


Описывая регулярные проверки, желательно сразу отметить некоторые полезные прилагаемые функции. К ним относится мониторинг срока действия домена и SSL сертификата. Такие, вроде бы, мелочи, доставляют огромные неудобства когда проявляются в неожиданное время. Эти функции появились в ХостТрекере, когда как всегда внезапно «закончился» один из наших личных доменов. Но подобные проблемы возникают даже у больших компаний, так как продление доменов/сертификатов всегда упирается в человеческий фактор, о надежности которого здесь распространятся не будем. Некоторые примеры мы собрали и описали вот здесь. Поэтому оповещение, что данный домен необходимо продлить, которое попадет не только в папку спам, где уже прописался ваш хостер благодаря непрерывному потоку маркетинговых писем, а и в папку о падениях вашего сайта (не говоря уж о возможности СМС оповещения), конечно же, является крайне полезным.

Другой интересной функцией является проверка доменов в черных списках DNSBL. Эти списки независимы и формируются каждый по своему алгоритму и созданы, главным образом, для фильтрации подозрительных субъектов. Каждый администратор может настроить свой веб-сервер, например, не получать письма от серверов, перечисленных в определенном списке. Это помогает бороться со спамом, распространением вредоносного ПО, ддос-атаками и другими проблемами. Но все эти списки имеют свои алгоритмы, и нет гарантии, что в результате случайных обстоятельств ваш сайт там не окажется. Более того, статистика показывает, что такое регулярно происходит даже с самыми безобидными сайтами. Например, никто не даст гарантию, что на соседнем с вами айпишнике не пропишется местный Король Спама, вследствие чего весь диапазон будет занесен в неблагонадежные. Во что это может выплеснуться? Письма от вас перестанут приходить клиентам, сайт станет хуже отображаться в поисковиках… Ну и так далее по нарастающей. А узнаете вы об этом, когда изменения станут критическими, а порой, увы, и необратимыми. Поэтому функция контроля и оповещения о попадании в наиболее популярные черные списки также является весьма востребованной.

dc98a6afd6f44d8e988d2c8168214936.png

Проверка контента


Вот это хороший пример того, как использование функции может превзойти все ожидания разработчиков. Ранее мы упоминали несколько подобных случаев. Дело в том, что множество вещей сейчас имеет веб-интерфейс. А для еще большего множества его можно написать без особых сложностей. Поэтому кроме основной задумки — проверки, подгрузилась ли страница целиком, путем простого парсинга, — открылись новые просторы. Подстраиваясь под разных клиентов, эта функция стала максимально универсальной: может искать сразу много слов, или же лишь одно из списка. Или наоборот — реагировать на появление определенных фраз. Также может выдавать в ошибку строку, в которой содержится ключевое слово. Например, многие делают страницу статусов: «Server 1 OK» и так далее. Если он вдруг станет «Error», тогда в сообщении придет «Server 1 Error» — вся диагностика уже проведена, можно сразу приступать к устранению.

А что, если сервер ДОЛЖЕН прилечь?


Кроме оповещений о падении сайтов, ХостТрекер выполняет еще одну важную функцию — собирает статистику по каждому проверяемому сайту. Во времена, когда различные кнопки на сайтах еще были популярными — кнопка ХостТрекера также нередко появлялась рядом с показателями посещаемости, прогнозом погоды и другими, безусловно, очень важными вещами. Сейчас же есть возможность вставить виджет, хотя кнопка тоже все еще доступна для любителей ретро. Кроме того, статистика часто является показателем для руководства: хорошо ли работает сайт и отдел его администрирования? Поэтому еще одной полезной функцией является планирование технических работ. Даже самые стабильные сайты и сервера должны время от времени обновляться или перезагружаться. И при этом не хочется терять пресловутые «девятки» в показателях аптайма. Планирование технических работ позволяет достигнуть двух целей (вместе или раздельно): не присылать оповещения об ошибках и не записывать ошибки во время определенного интервала времени в статистику. Конечно, это все равно попахивает читерством, но запланированный простой, тем более, в нерабочее для целевой аудитории время — вполне можно простить, с нашей точки зрения. Тем не менее, проверки во время технических работ все так же идут, и исправно пишутся в лог, поэтому могут быть полезными для вебмастеров и администраторов: лог позволяет определить, сколько именно длилось обновление или перезагрузка, какие ошибки при этом выдавались (то есть прослеживается весь процесс: сервер некоторое время недоступен, потом возвращает ошибку приложения, затем другую ошибку и т.д.), какие «тормоза» при этом наблюдались и тому подобное.

71be3965350a4df58a6030aeef3c3174.png

Технические работы можно запланировать как единоразово, так и на регулярной основе. Например, если каждую ночь делается бэкап, или каждый четверг — новый релиз. Единственное условие — расписание технических работ должно быть составлено не позже, чем за 12 часов до ближайшей приостановки сайта/сервера. Это сделано для того, чтобы на технические работы не списывались внезапно возникшие неожиданности, и статистика, предоставляемая ХостТрекером, оставалась достоверной.

Вместо эпилога


Нам часто задают вопрос (в том числе в комментариях на Хабре) —, а для чего Вы это делаете? Это же можно делать и самостоятельно. Отвечаем: да, можно. Особенно если нужно что-то одно. Но дело в том, что, грубо говоря, весь бизнес построен на человеческой лени. Облегчая людям жизнь, мы освобождаем время наших клиентов для чего-то более важного, потому как задачи, которые мы решаем — полны рутины. Ну и не стоит забывать, что не каждый способен лично собрать для себя автомобиль или вырастить хлеб. В общем, мы искренне уважаем людей, которые способны самостоятельно сделать себе хорошо в нашей сфере, но практика показывает, что далеко не все готовы тратить на это свое время.

Кроме того, нашим сервисом пользуются: не-айтишники; айтишники, которые должны что-то докладывать начальству; само начальство; любители надежности — и свое сделаю, и чужим воспользуюсь; и немало других категорий людей.

Но мы все равно очень рады читать все ваши замечания, так как на Хабре не редкость уловить что-то полезное для себя даже между строк.

Комментарии (2)

  • 16 августа 2016 в 09:38

    0

    А зачем? Если в Я.Метрике это по дефолту есть. Не так красочно конечно, приходит просто смска с упавшим сайтом без кода ошибки
    • 16 августа 2016 в 09:41

      0

      Нас часто об этом спрашивают, наверно скоро отдельно напишем на эту тему :) Яндекс.Метрика подходит для многих задач, но разница есть. Там мониторинг внутренний — за счет встраиваемого в сайт скрипта. Это значит, что точность зависит от количества пользователей, оповещения приходят с задержкой (до 30 минут), ряд ошибок не замечается. Не говоря уже о дополнительных функциях. Для каждой задачи свой инструмент.

© Habrahabr.ru