Главное Авторские колонки Вакансии Вопросы
121 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как я потратил год, чтобы сделать бесплатный аналог UptimeRobot и не сойти с ума

Привет, я Илья, создатель PingZen. Год назад я обычный разработчик с парой пет-проектов. Сегодня у меня сервис, который мониторит сотни сайтов, серверов и API по всему миру. И он всё ещё бесплатный.Расскажу, почему существующие инструменты меня бесили, как я чуть не утонул в self-hosted решениях и что из этого вышло.
Мнение автора может не совпадать с мнением редакции

С чего всё началось

У меня было несколько своих проектов: блог, API для телеграм-бота, пара лендингов. Всё работало, пока однажды не упало.

Я узнал об этом через 3 дня от друга, который написал: «Слушай, а у тебя сайт вообще работает?».

В этот момент я понял две вещи:

  1. Мне нужен мониторинг.
  2. Если я не узнаю о падении мгновенно — буду терять деньги и репутацию.

Казалось бы, простая задача. На рынке куча сервисов. Но начав разбираться, я офигел.

Почему меня бесили все существующие сервисы

UptimeRobotВроде бесплатно. Но алерты приходят через 5-10 минут. За это время пользователи уже успевают уйти к конкурентам. А если это интернет-магазин? Потерянные заказы = потерянные деньги.

Pingdom$20 в месяц за проверку моего блога? Серьёзно? Для стартапа на ранней стадии это вообще неподъёмно.

Self-hosted (Uptime Kuma)Решил поднять сам. Итог:

  1. Купил VPS.
  2. Настроил Docker.
  3. Три дня мучился с SSL-сертификатом для статус-страницы.
  4. Через месяц пришло обновление, которое всё сломало.

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

Better StackКрасивый, современный. Но UDP-мониторинг (а мне нужно было проверять игровой сервер) — только в enterprise-тарифе за几百 долларов.

И главное: почти никто не умеет нормально мониторить UDP и ICMP. А это критично, если у вас:

  1. Игровой сервер (Minecraft, CS:GO)
  2. Своё UDP-приложение
  3. DNS-сервер
  4. Просто нужно проверить, жив ли хост (ping)

И тут я решил: сделаю сам

Я сел и подумал: а что, если собрать инструмент, который:

  1. Не требует сервера и танцев с бубном.
  2. Поддерживает HTTP, TCP, UDP и ICMP.
  3. Шлёт алерты мгновенно.
  4. И при этом бесплатный для небольших проектов.

Так родился PingZen.

Как мы это строили (коротко, без кода)

Стек: Go, Node.js, RabbitMQ, PostgreSQL, Redis, AWS + Fly.io.

Самое сложное было — UDP. Большинство SaaS его не поддерживают, потому что это реально геморройно: нужно работать с сырыми сокетами, делать несколько ретраев с разных нод, отличать реальное падение от потери пакета.

Но мы справились.

Что умеет PingZen сейчас:

✅ HTTP/HTTPS — проверка кодов ответа, времени загрузки, валидация JSON.✅ TCP-порты — SSH, базы данных, любые сервисы на портах.✅ UDP — игровые серверы, DNS, кастомные UDP-приложения.✅ ICMP ping — классика.

Алерты летят мгновенно в Telegram, Discord, Slack или по вебхуку. Никаких задержек.

Статус-страницы создаются в один клик: красивый URL, SSL, история аптайма. И никакой рекламы PingZen — даже на бесплатном тарифе.

О деньгах (самое интересное)

PingZen до сих пор полностью бесплатный.

В бесплатном тарифе:

  1. неограниченное создание мониторов
  2. проверка раз в 1 минуту
  3. алерты в Telegram
  4. публичные статус-страницы
  5. поддержка всех протоколов (HTTP, TCP, UDP, ICMP)

Почему?

  1. Я сам инди-хакер и знаю, как тяжело платить за кучу сервисов на старте.
  2. Мне нужна обратная связь и сообщество, чтобы понять, куда двигаться дальше.
  3. Я верю, что базовый мониторинг должен быть доступен каждому.

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

Что получилось в итоге

Сейчас PingZen мониторит более 500 проектов:

  1. Портфолио и блоги разработчиков
  2. Интернет-магазины
  3. API стартапов
  4. Игровые серверы (Minecraft, CS:GO)
  5. Внутренние инструменты компаний

Вот пара примеров:

Кейс 1. Владелец небольшого интернет-магазина. Раньше узнавал о падениях от клиентов. После подключения PingZen стал получать алерты в Telegram и чинить проблемы до того, как их замечали пользователи. Конверсия выросла, потому что сайт стал стабильнее.

Кейс 2. Разработчик Minecraft-сервера. Платные мониторы не умели проверять UDP, self-hosted отнимал время. PingZen решил проблему за 2 минуты. Теперь он видит в дашборде статус сервера и получает алерты в Discord.

Что я понял за этот год

  1. Мониторинг — это база. Без него вы слепы. Ваш сайт может лежать сутками, а вы не узнаете.
  2. Сложные инструменты убивают время. Если вы тратите больше времени на настройку, чем на продукт — вы что-то делаете не так.
  3. Бесплатно — не значит плохо. Мы смогли сделать качественный продукт без денег с пользователей. Потому что нам важен фидбек, а не быстрая монетизация.
  4. Сообщество решает. Все лучшие идеи пришли от пользователей: поддержка UDP, JSON-валидация, кастомные вебхуки.

Что дальше

Ближайшие планы:

  1. Интеграция с PagerDuty и Opsgenie
  2. Проверки по GraphQL
  3. «Умные» эскалации (если не ответил в Telegram — дублируем в SMS)

Но главное — мы хотим, чтобы сервис оставался простым и полезным.

Сам по себе pingzen.dev бесплатный на данный момент и еще долго будет. Он все еще на стадии разработки. Ноо, уже сейчас можете создать неограниченное количество мониторов и использовать весь функционал. Основа в рабочем состоянии.Так что , если заинтересованы — это отличная возможность попробовать что-то новое и упростить себе жизнь.Мне очень интересна обратная связь.

  1. Что используете для мониторинга сейчас?
  2. Какие фичи вам реально нужны?

Возможно есть что-то еще ,что я могу сделать чтобы наiа жизнь стала чуточку проще:)Я отвечу на все вопросы. Спасибо, что дочитали!

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.