Диск заполнился, а вы не знали? Лёгкий мониторинг Beszel
Серверов несколько, а о заполненном диске вы узнаёте от клиента. Beszel с лицензией MIT собирает метрики, S.M.A.R.T. и Docker и присылает оповещения. Разбираем, как он ставится, чем отличается от Zabbix, Uptime Kuma и SigNoz и где не подойдёт.
Диск заполнился в пятницу вечером
Типичная история. На одном VPS крутится сайт, на втором бот, на третьем CRM, где-то лежат бэкапы. Всё работает, пока в логах не накопится пара десятков гигабайт. Диск забит на 100 процентов, база перестаёт писать, сайт отдаёт ошибку. Узнаёте об этом от клиента.
Причина почти всегда одна: за ресурсами сервера никто не следил. Серьёзные системы мониторинга сложнее самой инфраструктуры, и до них не доходят руки. Zabbix, о котором мы писали отдельно, отлично подходит для парка из сотни машин. Для трёх-десяти серверов это фура ради поездки за хлебом.
Что такое Beszel
Beszel состоит из двух частей. Hub это веб-интерфейс, построенный на PocketBase. Agent это маленький процесс, который работает на каждом отслеживаемом сервере и отправляет метрики в hub. Проект написан на Go, лицензия MIT, репозиторий github.com/henrygd/beszel. На момент проверки у него около 26 тысяч звёзд, последний релиз v0.21.0 вышел 2 октября 2026 года, а последний коммит в репозитории датирован 4 октября. Проект живой.
Что агент собирает: загрузку процессора, память и своп, место на дисках и скорость обмена с ними, сетевой трафик, среднюю нагрузку, температуру, скорость вентиляторов, заряд батареи, видеокарты. Здоровье дисков показывает по S.M.A.R.T. и предупреждает, если накопитель начал сыпаться. По каждому Docker-контейнеру видно процессор, память и сеть с историей.
Про нагрузку проект пишет, что он легче ведущих решений. Своих замеров у меня нет, чисел не назову. Проверяется просто: поставили агент и посмотрели в том же Beszel, сколько он потребляет сам.
Как ставится
Hub запускается одним бинарным файлом или в Docker (или Podman). Агент ставится тремя способами: контейнером, одним бинарником (для Linux и FreeBSD есть установочный скрипт) и пакетом через Homebrew, WinGet или Scoop, если машина на macOS или Windows.
Порядок такой. Поднимаете hub на любом сервере, открываете его в браузере и создаёте первого пользователя. Нажимаете «Добавить систему», интерфейс показывает готовую команду и ключ. Копируете на нужный сервер, запускаете. Через минуту машина появилась на дашборде. Агент сам подключается к hub по исходящему соединению через WebSocket, то есть открывать порты на каждом сервере не требуется. Есть и запасной вариант через SSH. Если агент запущен в Docker, ему нужен host-режим сети, иначе он не увидит сетевые интерфейсы хоста.
Оповещения и история
Оповещения настраиваются для большинства метрик: вы задаёте порог и время, например «процессор выше 80 процентов в среднем за 10 минут» или «диск заполнен больше чем на 85 процентов». Каналы доставки: электронная почта через SMTP, который настраивает администратор, и много сервисов через библиотеку Shoutrrr, в списке документации Telegram, Discord, Slack, Matrix, Gotify, Ntfy, Signal, Mattermost и другие. Есть и универсальный вебхук с POST-запросом на любой адрес. Канала для российского мессенджера MAX в списке нет. Для него понадобится мост через вебхук.
История хранится ступенчато. Свежие данные детальные: по минуте за последний час. Дальше метрики усредняются, и по данным кода хранятся до 30 суток. Для разбора «что было ночью» этого хватает. Годовой тренд лучше строить в Grafana.
Ещё в Beszel есть мультипользовательский режим. Каждый пользователь управляет своими системами, администратор может делиться системами между пользователями. Поддерживаются OAuth и OIDC. Бэкапы hub сохраняются на диск или в S3. Интерфейс переведён, русский язык в списке локализаций есть, но насколько полно перевод покрывает каждый экран, я не проверял. Документация на сайте проекта только на английском и китайском.
Место среди других инструментов
У каждого инструмента мониторинга свой вопрос.
Beszel отвечает на вопрос «как себя чувствуют мои серверы». Диск, память, процессор, контейнеры. Uptime Kuma отвечает на вопрос «открывается ли сайт у клиента», потому что проверяет его снаружи, как посетитель. SigNoz показывает, что происходит внутри приложения: какая функция тормозит и откуда ошибка в логе. Zabbix берут, когда машин много и нужны шаблоны, автообнаружение и сложные правила. Wazuh следит за безопасностью.
Для небольшой компании рабочая связка Beszel плюс Uptime Kuma. Первый предупреждает, что диск вот-вот кончится, второй сообщает, что сайт не открывается. Сетевые мониторы в Beszel есть, версия 0.21.0 добавила к HTTPS-проверкам срок TLS-сертификата, но внешнюю проверку доступности я бы держал отдельно.
Что важно учесть
Beszel мониторит ресурсы сервера. Если у вас на сервере упало приложение, а сам сервер в порядке, график процессора будет ровным. Контейнер можно увидеть остановившимся, но почему он упал, Beszel не скажет. Для этого нужны логи и трассировки.
Агент в том же дата-центре не заменяет внешний контроль. Если лёг сам сервер или канал до него, агент молчит, и hub зафиксирует только то, что система перестала выходить на связь. Поэтому hub лучше ставить на отдельный маленький сервер, а не на самый важный.
Версия 0.21.0 означает, что проект пока не вышел в 1.0. В репозитории около 330 открытых обращений. Перед обновлением читайте список изменений и делайте бэкап hub.
В rootless Docker часть метрик (температура, S.M.A.R.T., вентиляторы, видеокарта) может быть недоступна. Тогда агента ставят бинарником как системную службу.
Что можно сделать уже сейчас
Первый шаг: выпишите все свои серверы и для каждого ответьте, что на нём стоит и сколько свободного места осталось. Иногда находится забытый VPS, за которым вообще никто не смотрит.
Второй шаг: поднимите hub на отдельной небольшой машине и подключите два-три сервера. Вечера хватает.
Третий шаг: настройте всего четыре оповещения. Диск выше 85 процентов, память выше 90, процессор выше 90 в среднем за 10 минут, неисправность S.M.A.R.T. Лишние уведомления быстро перестают читать.
Четвёртый шаг: добавьте Uptime Kuma для проверки сайта снаружи и проведите тест. Выключите на минуту агент и убедитесь, что уведомление реально пришло туда, где вы его увидите.
Частые вопросы
Нужно ли платить за Beszel?
Нет, лицензия MIT, программа бесплатная, и ограничений по числу серверов в ней нет. Платить придётся за сервер для hub, если свободного нет.
Можно ли получать оповещения в Telegram?
Да, Telegram есть среди поддерживаемых сервисов оповещений. Нужен бот и идентификатор чата. Для MAX готового канала в списке нет.
Beszel заменит Zabbix?
Для парка из нескольких серверов чаще всего да. Для большой инфраструктуры с сетевым оборудованием, шаблонами и автообнаружением Zabbix остаётся сильнее.
Коротко о главном
Beszel закрывает самую приземлённую задачу: вовремя узнать, что на сервере кончается место или памяти, и заметить умирающий диск до потери данных. Приложения и внешнюю доступность сайта он оставляет SigNoz и Uptime Kuma. Зато ставится быстро и подходит компании, у которой в IT нет отдельного отдела.
Серверов несколько, а узнаёте о проблемах от клиентов? Мы разворачиваем и настраиваем мониторинг и оповещения под ключ: поднимем hub, подключим ваши машины, настроим пороги и проверим, что сообщение дойдёт. Напишите мне в Telegram слово «СЕРВЕРЫ», и разберём вашу инфраструктуру.
Ещё open-source для бизнеса
Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.
Что я делаю для бизнеса
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


