На этом месяце XDA рассмотрела инструмент для домашней лаборатории под названием Pulse, и половина r/selfhosted потратила неделю на извлечение Uptime Kuma из своих установок Proxmox, Docker и TrueNAS, чтобы попробовать его. Uptime Kuma по-прежнему остаётся инструментом, который мы рекомендуем для тех, кто настраивает первую страницу состояния. Он устанавливается одной командой Docker, интерфейс становится понятным за пять минут, а лимит бесплатных мониторов щедрый.
Однако, когда мы перешли примерно к тридцати проверкам, ограничения проявились быстро. Одиночный узел, без кластеризации, отсутствует встроенная конечная точка Prometheus, а типы проверок в основном это ping и HTTP. Если мы хотели получить графики CPU, памяти или диска для каждого хоста, нам пришлось подключать второй инструмент. Дашборд функциональный, но не то, что мы хотим проецировать на стену.
Мы протестировали семь альтернатив для самостоятельного мониторинга на Debian 12, Docker Compose и небольшом кластере Proxmox. Вот как они сравниваются.
Быстрое сравнение
| Приложение | Лучше всего для | Бесплатный план | Начальная цена | Отличительная особенность |
|---|---|---|---|---|
| Pulse | Proxmox + Docker + TrueNAS в одном окне | Полностью бесплатно | Бесплатно (пожертвования) | Единый дашборд для домашней лаборатории |
| Beszel | Пользователи Kuma, которым нужны метрики хоста | Полностью бесплатно | Бесплатно | Крошечный агент на Go, красивый интерфейс |
| Gatus | Проверки здоровья, определённые в YAML | Полностью бесплатно | Бесплатно | Проверки конечных точек в коде |
| Statping-ng | Публичные страницы состояния | Полностью бесплатно | Бесплатно | Тематизируемая страница состояния |
| Checkmk Raw | Флоты из 50+ узлов | Полностью бесплатно (Raw) | Около $600/год (Enterprise) | Глубокая экосистема плагинов |
| Zabbix | Корпоративная глубина на домашний бюджет | Полностью бесплатно | Бесплатно (платная поддержка) | Любая метрика, любой триггер |
| Netdata | Устранение неполадок в реальном времени | Полностью бесплатно (self-hosted) | Около $3/узел/месяц (Cloud) | Разрешение в секунду |
Почему домашние лаборатории переростают Uptime Kuma
Эта закономерность появляется в одних и тех же форумных потоках каждый месяц. Кто-то публикует дашборд с пятьюдесятью мониторами, упоминает, что их база данных SQLite блокируется во время ping-развёрток, и спрашивает, на что переключиться. Слой хранения Kuma не был разработан для частых записей в различные проверки, и нет опции кластеризации для распределения нагрузки.
Более крупный разрыв — это охват. Kuma зондирует сервисы снаружи. Она не может сказать нам, что пул ZFS узла Proxmox заполнен на 87 процентов, что хост Docker выполняет подкачку, или что SD-карта Raspberry Pi выдаёт ошибки чтения. Это факты на уровне хоста, и для их получения требуется агент, работающий на машине, который Kuma никогда не предоставляла.
Уведомления — третий подвох. Kuma охватывает основы (Discord, Telegram, электронная почта, общие вебхуки), но нет концепции правил, молчания или ротации дежурства. Если мы хотим отправить пейджер конкретному человеку с 22:00 до 06:00 только когда три проверки подряд не пройдут, нам придётся писать эту логику в приёмник вебхука.
Наконец, нет первоклассного Prometheus-скрепа. Есть сообщество-конечная точка, но если наш стек уже использует Grafana поверх Prometheus, мы обычно хотим, чтобы инструмент мониторинга раскрывал метрики нативно.
Альтернативы
Pulse, выбор XDA, объединивший нашу домашнюю лабораторию
Pulse — это инструмент, который осветил r/selfhosted в этом месяце. Он ориентирован именно на установку, которую использует большинство домашних лабораторий (пару хостов Proxmox, Docker-ящик и TrueNAS или Synology для хранилища) и размещает всё это на одном экране. ВМ, контейнеры, LXC-контейнеры, здоровье пула и нагрузка узла находятся рядом без необходимости ручного построения дашборда.
Настройка — это один файл Docker Compose. Мы указываем на токен Proxmox API и сокет Docker, и в течение минуты у нас появляются прямые счёты, графики ресурсов для каждой ВМ и состояние контейнера. На кластере Proxmox из трёх узлов с примерно сорока контейнерами дашборд оставался отзывчивым и холостой ход примерно 90 МБ оперативной памяти.
Где он не справляется: Pulse молод. Публичные страницы состояния, историческое хранение сверх нескольких недель и правила оповещений по-прежнему лёгкие. Это прежде всего дашборд домашней лаборатории, во-вторых платформа оповещений.
Цена: Бесплатно и открыто исходный код (приветствуются пожертвования).
vs Uptime Kuma: Kuma показывает нам, что URL включен. Pulse показывает нам, что ВМ за URL имеет 4 ГБ свободной памяти и пул ZFS здоров. Разные работы.
Загрузка: https://github.com/rcourtman/Pulse
Суть: Если мы используем Proxmox плюс Docker, установите Pulse на выходные.
Beszel, красивая Kuma с агентом
Beszel — это то, что происходит, когда кто-то любит чистый интерфейс Kuma, но нуждается в метриках хоста. Она поставляется в виде двух крошечных двоичных файлов Go (центр и агент), без зависимостей от среды выполнения, и веб-интерфейс выглядит действительно хорошо. Диаграммы для CPU, памяти, диска, сети и статистики контейнера Docker встроены.
Мы запустили агент на шести машинах, смеси x86 и ARM. Каждый агент использовал менее 20 МБ оперативной памяти. Добавление системы к центру было обменом ключей для копирования-вставки, без суетливых файлов конфигурации.
Где он не справляется: Beszel не выполняет мониторинг конечных точек HTTP так, как это делает Kuma. Она следит за хостами и контейнерами, а не удалёнными URL. Интеграции уведомлений всё ещё растут (Discord, Telegram, электронная почта, общий вебхук, SMTP), но шаблонизация не так богата, как у Gatus.
Цена: Бесплатно и открыто исходный код.
vs Uptime Kuma: Kuma пингует сервисы извне. Beszel сообщает о том, что происходит внутри хоста. Многие лаборатории в итоге работают с обоими.
Загрузка: https://beszel.dev
Суть: Самый красивый монитор хоста с самостоятельным размещением, который мы тестировали в этом году.
Gatus, проверки YAML и серьёзные правила оповещений
Gatus переворачивает модель. Вместо того, чтобы щёлкать по интерфейсу, чтобы добавить мониторы, мы описываем каждую конечную точку в файле YAML, фиксируем его в Git, и Gatus перезагружается при изменении. Язык условий выразителен: время ответа, код состояния, утверждения тела JSON, истечение TLS, DNS, ICMP, TCP и многое другое.
Вот где Gatus вырывается вперёд — оповещение. Slack, Teams, Discord, PagerDuty, Opsgenie, Gotify, ntfy и Matrix — все первоклассны, и каждая конечная точка может иметь собственные пороги оповещения и перерывы. Во время тестирования мы пропустили конфигурацию среднего размера примерно с семьюдесятью проверками, и CPU остался ниже двух процентов.
Где он не справляется: Дашборд минимален. Если нам нужна тематизируемая публичная страница состояния, Gatus — это не инструмент. Он также хранит историю в базе данных, которую мы должны резервировать отдельно.
Цена: Бесплатно и открыто исходный код.
vs Uptime Kuma: Kuma — это UI-первый, Gatus — это config-первый. Если наш мониторинг принадлежит репозиторию Git, Gatus побеждает.
Загрузка: https://gatus.io
Суть: Для тех, кто уже запускает инфраструктуру как код, это естественный выбор.
Statping-ng, сделанная правильно публичная страница состояния
Statping-ng продолжила то, где оригинальный Statping перешёл в спящий режим. Его основное внимание уделяется общедоступной странице состояния, той, на которую мы указываем клиентам, семье или товарищам по команде, когда что-то неработает. Темы легко заменяются, инциденты могут быть отправлены из панели администратора, и всё это отображается быстро даже на небольшом VPS.
Мы установили его на капельку за 5 долларов примерно с пятнадцатью сервисами, и объём памяти держался около 60 МБ. Уведомления охватывают обычные платформы чата и электронную почту.
Где он не справляется: Внутренний механизм проверки не так гибок, как у Gatus, а метрики хоста находятся вне его охвата. Под капотом релизы были стабильными, но не частыми, что имеет значение, если нам нужно знать, что CVE исправлена быстро.
Цена: Бесплатно и открыто исходный код.
vs Uptime Kuma: Страница состояния Kuma хороша для домашней лаборатории. Statping-ng — это та, которую нужно дать платящим пользователям.
Загрузка: https://github.com/statping-ng/statping-ng
Суть: Инструмент, к которому нужно обращаться, когда сама страница состояния — это продукт.
Checkmk Raw, когда флот становится серьёзным
Checkmk Raw — это бесплатное издание полной коммерческой платформы мониторинга. Это наследство видно везде: сотни встроенных плагинов, автоматическое обнаружение агентов, распределённый мониторинг, корреляция событий и торговая площадка плагинов с интеграциями, подписанными сообществом и поставщиком. На бумаге это то, что мы получаем максимально близко к корпоративному мониторингу без оплаты.
Мы запустили образ Docker против небольшого разнородного флота (Linux, Windows, сетевой коммутатор через SNMP и кластер Kubernetes) и Checkmk автоматически втянул примерно 400 сервисов. Как только мы настроили обнаружение, шум упал и дашборды стали пригодными для использования.
Где он не справляется: Кривая обучения реальна. Интерфейс несёт много устаревших закономерностей, и Raw не имеет красивых операторских дашбордов, отчётов и управления доступом на основе ролей, которые поставляют платные издания.
Цена: Бесплатное издание Raw навсегда. Облачные и корпоративные издания начинаются примерно с $600 в год для небольших установок.
vs Uptime Kuma: Kuma — это отвёртка, Checkmk — это мастерская.
Загрузка: https://checkmk.com
Суть: Стоит приложить усилия, как только мы переходим примерно на пятьдесят узлов.
Zabbix, корпоративная глубина с нулевой стоимостью
Zabbix существует достаточно долго, чтобы контролировать нашу первую стойку серверов. Он полностью бесплатен, включая корпоративные функции (распределённый мониторинг, HA-прокси, шифрование везде, детальное RBAC), и платные планы покупают поддержку, а не функции. Любая метрика может запустить любое действие, а язык триггеров действительно мощный.
Мы протестировали Zabbix 7 против разнородного флота. Агент зрелый и лёгкий, автоматическое обнаружение работало из коробки для сетевых устройств, и шаблоны для Docker, Kubernetes, PostgreSQL, Redis и большинства баз данных официальные.
Где он не справляется: Стандартный интерфейс устарел в сравнении с Beszel или Netdata. Настройка интерфейса дашбордов требует усилий, и многие команды в итоге отправляют данные Zabbix на Grafana для фактического просмотра.
Цена: Бесплатно. Существуют платные уровни поддержки для команд, которым нужны SLA.
vs Uptime Kuma: Kuma охватывает выходные дни домашней лаборатории. Zabbix охватывает центры обработки данных.
Загрузка: https://zabbix.com
Суть: Если домашняя лаборатория переросла в малый бизнес, Zabbix — это безопасная долгосрочная ставка.
Netdata, метрики в реальном времени с потрясающим стандартным интерфейсом
Предложение Netdata — разрешение в секунду по каждой метрике с дашбордами, которые выглядят отлично, даже если мы не трогаем никаких настроек. Агент работает на хосте, собирает всё от дрожания CPU до запросов Postgres и выставляет локальный веб-интерфейс сразу после установки. Это самый быстрый способ понять, прямо сейчас, почему машина работает медленно.
Топология родитель-ребёнок с самостоятельным размещением позволяет нам агрегировать многих агентов к центральному узлу без оплаты Netdata Cloud. То есть, Cloud — это место, где находятся многоузловые представления, сохранённые дашборды и мобильные оповещения, и для небольших команд это не дорого.
Где он не справляется: Удержание на бесплатной стороне с самостоятельным размещением ограничено диском. Долгосрочное хранилище означает либо отправку на Prometheus, либо переход на Cloud. Оповещение существует, но на каждого агента, поэтому настройка большого флота медленнее, чем у Gatus или Zabbix.
Цена: Полностью бесплатно с самостоятельным размещением. Платные уровни Netdata Cloud начинаются примерно с $3 за узел в месяц.
vs Uptime Kuma: Kuma сообщает нам, что что-то не так. Netdata сообщает нам, какой процесс на каком ядре это делает.
Загрузка: https://netdata.cloud
Суть: Инструмент, который мы открываем в первую очередь, когда машина прямо сейчас неправильно работает.
Как выбрать
Выберите Pulse, если мы используем Proxmox и Docker и хотим один дашборд для ВМ, контейнеров и здоровья пула. Это самый простой способ консолидировать небольшую лабораторию, и настройка занимает вечер.
Выберите Beszel, если мы любим простоту Kuma, но нуждаемся в графиках CPU, RAM и диска на основе агентов. Это самая близкая замена по ощущениям с лучшим слоем диаграмм.
Выберите Gatus для самого плотного оповещения на основе YAML. Если наша инфра уже находится в Git, добавление монитора должно быть pull-запросом, а не щелчком.
Выберите Statping-ng, если страница состояния — это суть. Клиенты, товарищи по команде или члены семьи видят чистую временную шкалу инцидента, а не наш внутренний дашборд.
Выберите Checkmk Raw, если мы управляем более чем пятьюдесятью узлами и хотим охват плагинов, который масштабируется без написания пользовательских проверок. Подъём реален, и он окупается, когда флот большой.
Выберите Zabbix для корпоративной глубины без счёта-фактуры. Это наиболее полный бесплатный вариант, и он имеет самый длинный послужной список в этом списке.
Выберите Netdata для устранения неполадок в реальном времени и великолепных стандартных дашбордов. Он хорошо дополняет других, поэтому многие лаборатории запускают его рядом с Gatus или Beszel.
Остаток на Uptime Kuma, если у нас есть менее 30 проверок и нам нужен только мониторинг HTTP или ping. Это по-прежнему самый быстрый путь к работающей странице состояния, и затраты на переключение реальны. Переходите только тогда, когда конкретный лимит (метрики агента, правила оповещений, количество узлов, полировка дашборда) блокирует лабораторию.
Часто задаваемые вопросы
Какова лучшая бесплатная альтернатива Uptime Kuma?
Pulse и Beszel — это два, которые мы рекомендуем чаще всего. Pulse побеждает для Proxmox и Docker домашних лабораторий, которые хотят единого стекла. Beszel побеждает для тех, кто хочет простоту Kuma плюс действительные метрики хоста. Обе полностью бесплатны и открыты исходный код.
Поддерживает ли Uptime Kuma мониторинг на основе агентов?
Нет. Uptime Kuma проверяет сервисы снаружи, используя HTTP, ping, TCP-порт, DNS и аналогичные зонды. Нет агента, который работает на целевом хосте, чтобы сообщить CPU, память или диск. Для этого нам нужны Beszel, Netdata, Checkmk или Zabbix.
Может ли Uptime Kuma контролировать Proxmox?
Только косвенно. Мы можем указать Kuma на веб-интерфейс Proxmox или конечные точки API и подтвердить, что они реагируют, но Kuma не может сообщить нагрузку CPU для каждого узла, количество ВМ, использование хранилища или здоровье пула ZFS. Pulse построена именно для этой работы.
Какой инструмент самостоятельного мониторинга имеет самый красивый дашборд?
Beszel и Netdata — это два, на которые мы указываем людям за внешний вид. Интерфейс Beszel выглядит как уточненная Kuma с диаграммами. Анимации Netdata в секунду не имеют себе равных для демонстрации того, как выглядит здоровый сервер. Pulse близко позади и быстро совершенствуется.
Является ли Zabbix чрезмерным для домашней лаборатории?
Обычно да. Zabbix разработана для сотен или тысяч хостов, и усилия по настройке это отражают. Для домашней лаборатории примерно под двадцать машин, Beszel, Pulse или Netdata дадут лучшее соотношение понимания к потраченному времени. Zabbix окупается, когда мы переходим на территорию малого бизнеса.