Как я разрабатываю мониторинг доступности сайтов «Dostupen.site»

Это только у меня не работает или у всех? Не посмотрите?

В этой статье разработаю первую версию и запускаю совместное с читателями реалити-шоу по созданию мониторинга сайтов 📊

<i>Кажется, VC более недоступен 🥺</i>
Кажется, VC более недоступен 🥺


Приветствую! Меня зовут Данила Справцев, я — веб-разработчик. Специализируюсь на разработке и сопровождении веб-сервисов и сложных сайтов «под ключ».

Задача

Первым шагом определим основные требования к сервису. На текущий момент, основная задача - мониторить доступность сайтов и получать уведомления при их недоступности, а также уведомления о доступности после недоступности 🥸. Согласен, звучит невероятно, другими словами - фиксируем инцидент и оповещаем о начале и завершении.

В перспективе мы могли бы добавить дополнительные фичи, такие как:

Концепция

Пользователь добавляет сервис в мониторинг через Telegram.

В случае, если сервис не отвечает на запросы три раза подряд, создается инцидент, и отправляется уведомление в Telegram-канал о недоступности сервиса.

Инцидент продолжается до тех пор, пока сервис не ответит успешно два раза подряд, после чего отправляется уведомление о доступности сервиса.

<i>Схематично выглядит это примерно вот так</i>
Схематично выглядит это примерно вот так

Тестирование

Чтобы не тратить жизнь на страдания, весь функционал сервиса покрываем тестами.

<i>Тесты это хорошо, тесты это превосходно</i>
Тесты это хорошо, тесты это превосходно

Запускаем проект на сервере, добавляем пачку ресурсов и через какое-то время в Телеграм канале наблюдаем следующие сообщения

<i>Инцидент Gismeteo</i>
Инцидент Gismeteo

Вуаля, мониторинг работает, инциденты фиксируются 🎉

Эпилог или Зачем это все

Спасибо, что дочитали!

Главной моей целью этого сервиса был мониторинг сайтов клиентов и своевременное информирование их о происходящем.

Буду рад, если Вы поделитесь своими идеями и видением сервиса в комментариях. Я постараюсь учесть все и выпустить публичную версию, содержащую все идеи, которые вы напишете.

Может, соберем свой DownDetector? Почему бы и нет? :)

Пришли ссылку

В настоящее время сервис находится на стадии тестирования. Бот заблокирован для общения только со мной и отправляет уведомления только определенным пользователям. Кроме того, он отслеживает небольшой список популярных сайтов и отправляет уведомления в публичный канал.

Вас интересует разработка сложного сайта, веб-сервиса или онлайн-платформы?

Напишите мне в Telegram, и мы обсудим, как я могу Вам помочь и реализовать вашу идею «под ключ». ⤵

1212
5 комментариев

О вышло в итоге, что сервер мониторинга сам от сети потерялся )) Для такого контроля нужно несколько серверов, желательно разнесенных географически.

4

Архитектурно это учтено, но пока что не дошли руки до реализации :)

Есть одна основная (мастер-слейв) локация, например, МСК-1 и N дополнительных в других городах/дц/странах

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

Если же инцидент ложный, проверяем другой локацией до N раз, в случае чего, инцидент удаляется, а уведомление не отправляется

100%
У меня на хостинге есть такая услуга, там пингуется с разных локаций и айпи