{"id":14268,"url":"\/distributions\/14268\/click?bit=1&hash=1e3309842e8b07895e75261917827295839cd5d4d57d48f0ca524f3f535a7946","title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f71e1caf-7964-5525-98be-104bb436cb54"}

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

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

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

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

Ошибка #1

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

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

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

Ошибка #2

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

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

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

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

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

Ошибка #3

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

Вижу "я задолбался" в заголовке и автоматом ставлю диз. Автору пора сменить шаблон своих заголовков.

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

чем вас не устраивает заголовок?)

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

а, вы просто хейтер, удачи вам)

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