Как работает агент
Никакой магии: агент — это цикл из пяти этапов, который повторяется каждые 30 секунд. Всё, что он умеет чинить, описано декларативными плейбуками, которые можно прочитать глазами.
Цикл: сбор → поиск проблем → политика → лечение → запись
- Сбор. Сборщики снимают состояние: ресурсы (CPU/RAM/диск/inode), службы systemd, журналы, пакетный менеджер, сеть и DNS, LVM и хранилище, синхронизацию времени, доменную аутентификацию, Kubernetes, а также рантайм конкретных сервисов — PostgreSQL, MySQL/MariaDB, nginx/Apache/HAProxy, почту, Java-приложения. Медленный коллектор отсекается по таймауту и не тормозит цикл.
- Поиск проблем. Из снимка выводятся классы проблем: «диск заполнен», «служба упала», «репликация отстала», «conntrack переполнен»… Диагностические наблюдения без плана починки помечаются как наблюдения и не влияют на статус сервера — алерты только на то, с чем можно что-то сделать.
- Политика. Политика решает, что делать с аварией: чинить автоматически, запросить подтверждение оператора или только показать. Здесь же действуют лимиты тарифа.
- Лечение. Агент сообщает об аварии службе исполнения, она подбирает плейбук: сначала предварительные проверки (безопасно ли чинить), потом шаги, потом проверка «проблема действительно ушла». Не ушла — откат по описанным шагам, где он возможен. Повторный запуск того же плейбука на той же аварии отсекается, у каждого класса — своя пауза между попытками.
- Запись. Результат пишется локально (SQLite на сервере) и отправляется в консоль сжатым снимком. Пропала связь — агент продолжает работать автономно, история не теряется.
Сервер ничего не открывает
Агент сам инициирует все соединения — исходящий HTTPS с токеном доступа. Входящий SSH и открытые порты не нужны, серверы за NAT работают без пробросов. Даже веб-терминал консоли работает через обратный туннель, который поднимает сам агент.
Плейбуки
Плейбук — YAML-файл: класс проблемы, поддерживаемые ОС, уровень риска, разрешённые команды, предварительные проверки, шаги, проверка результата, политика отката. В библиотеке их 272, покрывают диски, службы, сеть, БД, Kubernetes и специфику отечественных ОС. Обновления библиотеки агент забирает подписанным архивом — подделать плейбук нельзя (подробнее в «Безопасности»).
Пока автолечение выключено
Агент проходит весь цикл, но вместо исполнения записывает, что нужно сделать, — подсказка видна в карточке аварии, а на тарифе Pro и выше — точный список команд. Это честный «сухой прогон» на вашем реальном парке: можно неделями смотреть, как агент принимал бы решения, прежде чем доверить ему исполнение.
Сколько ресурсов занимает агент
Одна программа, без интерпретаторов и зависимостей. Системный лимит памяти — жёсткий (1 ГБ на уровне systemd, обычное потребление в разы ниже), CPU — единицы процентов на снятие снимка раз в 30 секунд. Watchdog systemd перезапустит агента, если тот завис.