Обсудить проект
Telegram Mini App · DevOps-автоматизация

BIOS-Agent

Сервер, на котором живут клиентские сайты, не может позволить себе сценарий «упало ночью, узнали утром». BIOS-Agent следит за ним сам: проверяет диск, память, процессы, сертификаты и доступность сайтов, чинит типовые сбои без человека и обращается к владельцу только тогда, когда решение действительно за ним.

Проект
Внутренний продукт
Статус
Работает
Чей проект
Собственный продукт студии
Год
2026
Что делал
Архитектура · бэкенд · Mini App · эксплуатация
Стек
PythonsystemdTelegram Mini AppVanilla JS
Скриншот первого экрана: BIOS-Agent
BIOS-Agent — скриншот интерфейсапервый экран

Задача

Готовые системы мониторинга рассчитаны на другие масштабы. На двухъядерной машине, где каждый мегабайт памяти работает на клиентские сайты, тяжёлый стек сам стал бы источником проблем.

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

Ограничения

  • Два ядра процессора: мониторинг не должен конкурировать с сайтами
  • Панель открыта из интернета — вход только по подписи Telegram
  • Никаких произвольных команд: только описанные в коде операции

Авторская идея

Не графики, на которые надо смотреть, а дежурный, который действует сам и объясняет, что сделал. Интерфейс — карточки состояния, где у каждой кнопки подписано последствие.

BIOS-Agent: внутренний раздел
внутренний раздел — скриншот
BIOS-Agent: мобильная версия
мобильная версия

Почему это так выглядит

Интерфейс
Каждая строка раскрывается в карточку: что происходит, почему это важно, какие варианты. Решение не прячется за графиком.
Движение
Минимальное: панель открывают с телефона в дороге, она обязана открываться сразу.
Язык
Уведомления — по-русски и человеческими фразами, без кодов ошибок.

Решение

Агент на чистом Python без внешних зависимостей: раз в пять минут он снимает состояние сервера, сравнивает с правилами и действует. Перезапустить упавший процесс, освободить место на диске, заблокировать источник перебора паролей он может сам, с жёсткими лимитами на число попыток в час.

Если лимит исчерпан или проблема выходит за рамки правил, агент перестаёт чинить и пишет владельцу. Это осознанная граница: автоматика, которая бесконечно перезапускает сломанное, вредит больше, чем её отсутствие.

Панель в Telegram, а не веб-админка

Классическая админка означала бы ещё один пароль, ещё одну форму входа и ещё одну поверхность для атаки. Telegram Mini App снимает этот слой: приложение открывается изнутри мессенджера, а личность пользователя подтверждает сама платформа криптографической подписью. Доступ есть ровно у одного аккаунта.

Панель показывает состояние сервера, процессы, журналы и защиту, а любую строку можно раскрыть в карточку: что происходит, почему это важно и какие есть варианты действий. У каждой кнопки подписано последствие. Интерфейс собран на нативных ES-модулях без сборщика: панель обязана открываться мгновенно даже на телефоне в роуминге.

Разграничение рисков

Операции разделены на два класса. Обратимые выполняются сразу по нажатию. Разрушительные из панели не выполняются вообще: они попадают в очередь и ждут отдельного подтверждения в чате.

Смысл в том, что чат работает как второй фактор. Даже если бы кто-то получил доступ к интерфейсу, необратимое действие потребовало бы подтверждения в другом контуре. Произвольных команд в системе нет: агент умеет только те операции, которые заранее описаны в коде.

Результат

Время реакции на сбой сократилось с «когда замечу» до пяти минут. Типовые аварии, ради которых раньше приходилось открывать ноутбук, закрываются без участия человека, а владелец получает утренний дайджест вместо потока уведомлений.

Систему покрывают более 250 автотестов, а сам агент ограничен по ресурсам так, чтобы не конкурировать с сайтами, которые он обслуживает.