Я задолбался пропускать падения моих сервисов и написал HealthCheck-бота

Пишешь боту имя своего домена и бот проверяет его раз в минуту.

К идее создания бота я пришёл при запуске другого продукта для проверки резюме на английском -

В день запуска всё пошло не так😎

Ошибка #1

Большинство сервисов работали на одном сервере, а это

Запускал я довольно требовательный сервис к ресурсам - используется OCR (распознавание символов на pdf файле), алгоритм категоризации, нейронная сеть для определения насколько резюме соответствует профессии найденной по ключевым словам. В общем жирный сервис, который ест много ресурсов процессора и при превышении лимитов - он зависает намертво вместе с сервером.

Не кладите яйца в одну корзину

Ошибка #2

После запуска я не особо следил за сервисом, занимался своими делами.

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

А завис не только сервис, а вообще всё!

Приходилось перезагружать сервер и поднимать все сервисы, чтобы они ожили. Спасибо боту @IsBotDownBot - я понимал когда падали мои боты😂

Кот из дома - мыши в пляс!

Ошибка #3

В сервисе не было ограничений на количество загрузок резюме - в итоге кто-то отчаянно пытался получить высокий балл от https://checkcv.info/ и загружал резюме около сотни раз, это нагружало сервер и тоже приводило к падению сервера.

Берегись козла спереди, лошади сзади, а лихого человека со всех сторон.

Решение

После 5 падений сервиса (довольно позорно, но что поделать) я начал искать быстрое решение для мониторинга, желательно бесплатное.

Небольшой ресерч не дал простого и быстрого решения, чтобы проверять свои сервисы по доменному имени, поэтому я написал своё решение - https://t.me/YourDomainHealthCheckBot

Просто отправляешь боту свой домен - например checkcv.info - бот сам определяет доступен ли сервис по HTTPS или HTTP и начинает его пинговать раз в минуту.

В случае ошибки или недоступности сайта - бот отправит сообщение об ошибке.

Как только сервис вернется к жизни - бот сообщит и об этом.

Вот в общем-то и все, так же можно редактировать свой список сайтов.

Ещё можно пингануть сайт один раз.

Кто-то подсказал, что этим ботом можно поднимать свои Heroku-сервисы к жизни.

С тех пор как запустил бота сервис пока не падал, но если упадёт узнаю об этом в течение минуты (если не упадёт сервер с ботом😏).

Буду рад услышать фидбек или предложения по улучшению -

0
190 комментариев
Написать комментарий...
phpony

Просто ответ 200 еще не гарантия, что сервис работает. Продвинутые инструменты обычно предлагают проверять отдаваемый контент по паттерну или искать определённое слово.

Ответить
Развернуть ветку
Sergei Timofeyev

В том и дело, что изнутри смотреть надо. Тем более на энетерпрайзе. Там вообще можно творить чудеса с Prometeus, ELK (да-да по аномалиям логов можно многое интересное видеть).

Ответить
Развернуть ветку
Alex Fedorov
Автор

Elk еще поддерживать надо, с вечно жиреющим эластиком при росте проекта

Ответить
Развернуть ветку
Sergei Timofeyev

Для этого и существует кровавый энтерпрайз.

Ответить
Развернуть ветку
Alex Fedorov
Автор

С большими деньгами

Ответить
Развернуть ветку
Sergei Timofeyev

Я люблю эффективных менеджеров, которые приходили ко мне и просто сходу говорили: давай, считай нам на всю катушку того, что нужно, чтобы наше IT стало передовым. Так приятно было видеть, что от малых сумм - реально 15-20 миллионов всего - они уходили, чертыхаясь. ))

Ответить
Развернуть ветку
Alex Fedorov
Автор

Передовое it может быть и простым

Ответить
Развернуть ветку
Sergei Timofeyev

На серверах 2007 года. Простите, это в 2019-2020 годах было. :)

Ответить
Развернуть ветку
Alex Fedorov
Автор

Там мелькал кубер?)

Ответить
Развернуть ветку
Sergei Timofeyev

Не помню такого там. :) На деле, увы, передовое IT не может быть простым и дешёвым, так как есть масса нюансов в железе, софте, поддержке.

Ответить
Развернуть ветку
Alex Fedorov
Автор

Если свои сервера, наверное да. С облаками попроще

Ответить
Развернуть ветку
Sergei Timofeyev

Увы, с облаками не только не проще, но и дороже где-то в 2,5-3 раза.

Ответить
Развернуть ветку
Alex Fedorov
Автор

Смотря какая задача и какие требования, сделать своими силами георепликацию может быть непросто, нужно же еще человеко-часы учитывать на поддержку)

Ответить
Развернуть ветку
Sergei Timofeyev

Там замашки были большими, но рынок ограничивался европейской частью России.

Ответить
Развернуть ветку
Alex Fedorov
Автор

А, ну тут наверное и ограничение на хранение данных в пределах России и как итог яндекс облако или сбер/мейл ру клауд, выбор не велик

Ответить
Развернуть ветку
Sergei Timofeyev

Там психиатр требовался. В целом, они так и продолжают скатываться )

Ответить
Развернуть ветку
Alex Fedorov
Автор

А ведь для продактов есть свой сервис психотерапии)

Ответить
Развернуть ветку
Sergei Timofeyev

Там суровые MBAшники собрались. И наша компания была не первой, которую они пустили в большое плавание. ))

Ответить
Развернуть ветку
Alex Fedorov
Автор
Ответить
Развернуть ветку
187 комментариев
Раскрывать всегда