{"id":14293,"url":"\/distributions\/14293\/click?bit=1&hash=05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","hash":"05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0438","buttonText":"","imageUuid":""}

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

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

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

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


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

Задача

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

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

Концепция

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

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

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

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

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

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

Тесты это хорошо, тесты это превосходно

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

Инцидент Gismeteo

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

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

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

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

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

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

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

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

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

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

0
5 комментариев
Станислав

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

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

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

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

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

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

Ответить
Развернуть ветку
Денис Раевский

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

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

Не видел на хостингах таких возможностей. Это рф хостер?

Ответить
Развернуть ветку
Денис Раевский

Хостимен называется хостинг

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