Обновить

Мониторинг, который не бесит: почему мы перестали использовать Uptime Kuma и написали свой SaaS с поддержкой UDP/ICMP

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.5K
Всего голосов 4: ↑4 и ↓0+5
Комментарии13

Комментарии 13

Есть возможность импорта списка сайта файлом или через апи ?

Привет. Через апи можно (https://pingzen.dev/ru/docs/api-reference). На днях можно будет через MCP. Я добавлю в документацию раздел по MCP. По срокам примерно в течении 48 часов.

Интересует возможность так называемого обратного пинга.
Допустим у меня серый ip на сервере, либо корпоративный прокси, до которого вашему сервису не пробиться, но наоборот – с него, я могу пинговать или посылать post/get запросы.
Можно ли сделать отслеживание такого уровня, что раз в минуту вам сигнал не подал, значит оффлайн?

Я могу добавить такой функционал если людям нужно. Напиши мне в тг чтоб я понимал что кому-то реально надо. @rassadaRB

https://pingzen.dev/heartbeats вот я демо сделал - попробуй. То что ты хотел? *Пока в UI основном это доступно по ссылке именно. Интегрируется с алертами.

Uptime Kuma можно запустить с докера - и он не будет ничего ломать, ну и можно запустить на модных нынче Docker-хостингах в два клика, и в остальном будет бесплатно хоть миллион хостов добавь. Ну и если сложности с инфрой и настройкой такой мелочи как UK, то не понятно как вы будете обслуживать то что хотите мониторить. Ну и UDP он поддерживает, и прочие протоколы.

3. Self-hosted (Uptime Kuma, Prometheus + Alertmanager)

...
Минусы: Требует инфраструктуры и времени на поддержку. Обновления, безопасность, бэкапы - всё ложится на вас. Если у вас нет выделенного DevOps-инженера, это оверхед.

Ну если Вам есть что мониторить - то инфраструктура у Вас уже есть... А насчёт ужасов про поддержку, с которой справится только DevOps - текущую инсталляцию Prometheus + Grafana я настроил 4 года назад за полдня, с тех пор оно через unattended-upgrades (тут сейчас любители каждый апдейт проверять вручную и прогонять на тестовом контуре упадут в обморок - но у меня не так критично, плюсы перевешивают риски) само обновляется, работает и за все 4 года никакой головной боли. Только что новые метрики/дашборды/алерты добавляю по необходимости или старые уточняю.

Большинство SaaS-мониторов вообще не умеют работать с UDP.

Так потому что невозможно сделать универсальный мониторинг для любого сервиса, работающего по UDP, - мы же не знаем, какой пакет надо отправить, чтобы что-то получить в ответ. Вы и сами реализовали, как я понял, ровно 2 кейса из многих тысяч возможных. Решений под отдельные UDP сервисы полно. DNS - тот же blackbox exporter, под Minecraft Ваш тоже, вроде, экспортер имеется. Если какая-то совсем экзотика или самописный сервер - то свой exporter пишется за вечер даже без помощи LLM; но в этом случае и Ваш продукт надо будет дорабатывать под такой сценарий.

mikrotik dude - бесплатно, ставится на виртуалки и не плохо справляется с небольшой сеткой хостов на 100-200. удобная фишка, это графическая карта сети и отображение загрузки сетевых интерфейсов (каналов). хорошая интеграция с snmp разных версий (мониторинг железа, серверов и.т.д. которые умеют snmp). может показывать визуально нагрузку по клиентам на родных точках доступа / роутерах. Если в сети начинает ложится сегмент, то видно откуда ж**а началась...

Даже не представляю как можно настраивать куму целый вечер и что там в nodejs сломалось. Там же композ развернуть одной командой и дальше кликать в ui.

Для ваших целей уже давно изобретен Prometheus+alertmanager+blackbox exporter. Если вы трясетесь за аптайм то вы наверно и за метриками следить захотите, а не приходить когда уже все горит?

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

Как уже написали выше, откройте для себя Gatus.

Сегодня решил попробовать вас сервис чисто для домашнего использования. Обычно использую uptimerobot но из-за блокировок он стал работать максимально криво.
Из непоняток - при создании монитора http с ключевым словом - кнопка тест проверяет сам адрес, безотносительно наличия или отсутствия этого слова, что сильно вводит в заблуждение. После создания монитора - всё работает как и должно. Далее. При создании алерта через телегу - в 80% случаев манипуляций с алертом - кнопка создания алерта становится неактивной. Приходится переключаться на соседний тип алерта - и обратно, тогда кнопка отдупляется и можно сохранить. Не хватает возможности переноса мониторов из того же uptimerobot - было бы удобно. Лично мне не хватает интеграции в Home Assistant. Понятно, что через вебхуки всё можно сделать, но нативная интеграция была бы удобна. Не нашел на сайте никаких контактов для вопросов и тд. При каждом заходе на главную - для перехода к мониторам выпадает интерфейс логина через "начать". Зачем мне начинать и логиниться при каждом заходе на главную, если я и так уже создал у вас мониторы - непонятно. Далее. Есть непонятки с бесплатностью. Навсегда бесплатно? Тестовый период? Сколько бесплатно, сколько платно? Вот эта неопределенность и неоднозначность может остановить от переезда к вам с концами. У вашего телеграм бота нет аватарки - каждый раз непонятки, что это за ноунейм пишет. А так да с моей бытовой точки зрения очень удобный и шустрый сервис. Если поправятся детские болезни, не попадет под ковровые блокировки и не будет вводиться монетизация для мелких юзеров типа меня - вообще отлично. Всяческих успехов!

Огромное спасибо за такой детальный тест! Это самый полезный фидбэк из всех комментариев.

По пунктам:

  1. Тест + keyword — вы правы, кнопка «Тест» проверяла только доступность URL, но не keyword. Исправляю — будет проверять и ключевое слово.

  2. Кнопка алерта через Telegram — уже исправлено. Проблема была при повторном клике на уже выбранный канал.

  3. Логин при каждом заходе — исправляю. Авторизованных будет редиректить в dashboard.

  4. Контакты — добавлю в футер. Пока можно написать в Telegram: @rassadaRB

  5. Аватарка бота — уже поставил через BotFather.

  6. Монетизация — сейчас бесплатно до 55 мониторов, интервал от 60 секунд, 2 канала алертов. Добавлю чёткую таблицу лимитов на /pricing.

  7. Импорт из UptimeRobot — в планах. Пока можно через API: https://pingzen.dev/ru/docs/api-reference

  8. Home Assistant — пока через вебхуки, нативная интеграция в бэклоге.

Если интересно продолжить тестирование — напишите @rassadaRB, дам pro-доступ.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации