Beszel − лёгкий и автономный веб-интерфейс для мониторинга серверных ресурсов в реальном времени. Приложение показывает загрузку CPU, использование оперативной памяти, дисковое пространство, сетевой трафик, и даже может отслеживать состояние Docker-контейнеров. Интерфейс Beszel минималистичный и способен работать даже на слабых VPS без существенных задержек. Вся информация отображается в виде графиков с историей. Также поддерживаются оповещения при превышении заданных порогов. Beszel не требует внешней базы данных и работает как локальный агент.
Beszel является инструментом мониторинга одного сервера. Он устанавливается локально, собирает метрики прямо из системы, и не предназначен для централизованного наблюдения за несколькими хостами. Сервис работает изолированно, отображая данные только того сервера, на котором он запущен. Такой подход делает Beszel удобным для использования на домашних серверах, отдельных узлах или VPS, то есть там, где нужен простой и быстрый мониторинг.
В статье разберём, как установить и запустить Beszel в качестве системной службы на виртуальном выделенным сервере, работающем под управлением Linux-системы. С помощью установленного сервиса вы сможете мониторить состояние своей виртуальной машины. При этом в качестве операционной системы на VPS можно использовать и Ubuntu, и Debian, и CentOS.
Как установить и запустить Beszel на Linux
Непосредственно инсталляция Beszel на Linux производится всего одной командой:
$ curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel
В чистом образе Debian изначально отсутствует утилита curl
и архиватор tar
. Поэтому, если вы не устанавливали их ранее, то перед запуском инсталляции Beszel выполните команду:
$ sudo apt install curl xz-utils
В CentOS Stream 9 также по умолчанию нет архиватора tar
. Установить его можно командой:
$ sudo dnf install tar
Веб-интерфейс Beszel работает через TCP-порт 8090. Поэтому, чтобы проверить работоспособность приложения, необходимо добавить в брандмауэр системы разрешающее правило для данного порта. В Ubuntu и Debian это делается командой:
$ sudo ufw allow 8090/tcp
Для CentOS, где функции межсетевого экрана выполняет служба firewalld
, для открытия порта 8090 выполните команду:
$ sudo firewall-cmd --permanent --add-port=8090/tcp
$ sudo firewall-cmd --reload
Следующей командой запустите приложение из текущего каталога:
$ ./beszel serve --http "0.0.0.0:8090"
После чего откройте браузер и перейдите на http://X.X.X.X:8090
, где вместо X.X.X.X
укажите IP-адрес или доменное имя вашего виртуального сервера. Если открылась стартовая страница Beszel, значит сервис работает корректно.

Для завершения работы Beszel переключитесь в терминал и нажмите Ctrl C
.
Как запустить Beszel в качестве системного сервиса
Для того, чтобы только что установленный сервис мониторинга работал постоянно и в фоновом режиме и при этом не нужно было всякий раз запускать его вручную, необходимо настроить его функционирование в качестве системного сервиса.
Приложению Beszel не нужны административные права для осуществления мониторинга системы. Следовательно, его можно запускать от имени пользователя с минимальными привилегиями, достаточными только для работы сервиса. Следующая команда создаёт такого пользователя с именем beszel
:
$ sudo useradd --system --no-create-home --shell /usr/sbin/nologin beszel
В данном случае будет создана системная учётная запись с UID меньше 1000. Кроме того, у этой учётной записи не будет домашнего каталога, поскольку он не нужен для системных пользователей. А также у пользователя beszel
не будет возможности подключения к системе.
Затем создайте директорию для использования сервисом в качестве рабочей:
$ sudo mkdir /opt/beszel
После чего скопируйте туда исполняемый файл приложения:
$ sudo cp beszel /opt/beszel/
Далее назначьте пользователя beszel
и группу beszel
владельцами рабочего каталога и его содержимого:
$ sudo chown -R beszel:beszel /opt/beszel
Следующим шагом создайте юнит-файл для новой службы. В Debian и Ubuntu используйте для этого текстовый редактор nano
:
$ sudo nano /etc/systemd/system/beszel.service
В CentOS − стандартный Unix-редактор vi
:
$ sudo vi /etc/systemd/system/beszel.service
Скопируйте в файл следующие строки:
[Unit]
Description=Beszel Hub
After=network.target
[Service]
Type=simple
Restart=always
RestartSec=3
User=beszel
WorkingDirectory=/opt/beszel
ExecStart=/opt/beszel/beszel serve --http "0.0.0.0:8090"
[Install]
WantedBy=multi-user.target
Закройте файл, сохранив внесённые изменения, и обновите список сервисов systemd:
$ sudo systemctl daemon-reload
Затем запустите созданную службу:
$ sudo systemctl start beszel
Установите её в автозагрузку:
$ sudo systemctl enable beszel
И следующей командой проверьте корректность работы нового системного сервиса:
$ systemctl status beszel
Вывод команды не должен содержать сообщений о каких-либо ошибках:

Подключение к веб-интерфейсу Beszel
Если ошибок нет, откройте браузер и перейдите на веб-интерфейс Beszel, используя IP-адрес сервера и порт 8090. При первом запуске создайте пользователя для авторизации в приложении.

Подключившись к приложению, поставьте свой сервер на мониторинг при помощи кнопки Добавить Систему
.

В открывшемся окне переключитесь на вкладку Двоичный
. Затем укажите имя системы, IP-адрес сервера, скопируйте команду для Linux-системы и нажмите Добавить систему
.

После чего переключитесь на терминал вашего сервера и запустите скопированную команду. После её выполнения приложение начнёт собирать с вашего виртуального сервера метрики и выводить их в веб-интерфейсе.

Таким образом, у вас теперь есть возможность мониторить состояние своего VPS, наблюдая за изменениями параметров системы. Более того, вы можете настроить отправку уведомлений при достижении определённых пороговых значений.