Как я разрабатываю мониторинг доступности сайтов «Dostupen.site»
Это только у меня не работает или у всех? Не посмотрите?
⠀
В этой статье разработаю первую версию и запускаю совместное с читателями реалити-шоу по созданию мониторинга сайтов 📊
⠀
Приветствую! Меня зовут Данила Справцев, я — веб-разработчик. Специализируюсь на разработке и сопровождении веб-сервисов и сложных сайтов «под ключ».
Задача
Первым шагом определим основные требования к сервису. На текущий момент, основная задача - мониторить доступность сайтов и получать уведомления при их недоступности, а также уведомления о доступности после недоступности 🥸. Согласен, звучит невероятно, другими словами - фиксируем инцидент и оповещаем о начале и завершении.
В перспективе мы могли бы добавить дополнительные фичи, такие как:
Концепция
Пользователь добавляет сервис в мониторинг через Telegram.
В случае, если сервис не отвечает на запросы три раза подряд, создается инцидент, и отправляется уведомление в Telegram-канал о недоступности сервиса.
Инцидент продолжается до тех пор, пока сервис не ответит успешно два раза подряд, после чего отправляется уведомление о доступности сервиса.
Тестирование
Чтобы не тратить жизнь на страдания, весь функционал сервиса покрываем тестами.
Запускаем проект на сервере, добавляем пачку ресурсов и через какое-то время в Телеграм канале наблюдаем следующие сообщения
Вуаля, мониторинг работает, инциденты фиксируются 🎉
Эпилог или Зачем это все
Спасибо, что дочитали!
Главной моей целью этого сервиса был мониторинг сайтов клиентов и своевременное информирование их о происходящем.
Буду рад, если Вы поделитесь своими идеями и видением сервиса в комментариях. Я постараюсь учесть все и выпустить публичную версию, содержащую все идеи, которые вы напишете.
Может, соберем свой DownDetector? Почему бы и нет? :)
⠀
Пришли ссылку
В настоящее время сервис находится на стадии тестирования. Бот заблокирован для общения только со мной и отправляет уведомления только определенным пользователям. Кроме того, он отслеживает небольшой список популярных сайтов и отправляет уведомления в публичный канал.
Вас интересует разработка сложного сайта, веб-сервиса или онлайн-платформы?
Напишите мне в Telegram, и мы обсудим, как я могу Вам помочь и реализовать вашу идею «под ключ». ⤵
О вышло в итоге, что сервер мониторинга сам от сети потерялся )) Для такого контроля нужно несколько серверов, желательно разнесенных географически.
Архитектурно это учтено, но пока что не дошли руки до реализации :)
Есть одна основная (мастер-слейв) локация, например, МСК-1 и N дополнительных в других городах/дц/странах
После того, как основная локация регистрирует инцидент, дополнительные проверяют недоступность ресурса, если он действительно недоступен, отмечаются в инциденте, что тоже проверили и все ок.
Если же инцидент ложный, проверяем другой локацией до N раз, в случае чего, инцидент удаляется, а уведомление не отправляется
100%
У меня на хостинге есть такая услуга, там пингуется с разных локаций и айпи