Гид по технологиям

Установка Rudder на Debian 10: сервер и агент

• 7 min read • DevOps • Обновлено 26 Nov 2025
Rudder на Debian 10 — установка сервера и агента
Rudder на Debian 10 — установка сервера и агента

Краткое графическое представление Rudder на сервере

Rudder — это бесплатный open-source инструмент непрерывного аудита и управления конфигурацией, предназначенный для автоматизации IT-инфраструктуры. Это веб-ориентированное кроссплатформенное решение, которое упрощает управление и повышает надёжность инфраструктуры. Rudder включает набор правил для применения шаблонов низкоуровневой конфигурации и контроля соответствия. Среди ключевых возможностей — автоматический инвентарь хостов, встроенный редактор политик, удобный веб-интерфейс, поддержка Git как бэкенда, динамические группы, повторно используемые политики и автообновляемые группы.

Ключевые компоненты Rudder:

  • Rudder Server: определяет конфигурации и собирает отчёты приложений.
  • Агент Rudder: устанавливается на каждом управляемом узле; быстрый — проверка сотни правил занимает порядка секунд; работает на широком наборе устройств.
  • Relay Servers: позволяют управлять узлами в разных сетях через единый вход.

Кому полезно

  • Системным администраторам и инженерам DevOps, которые автоматизируют контроль конфигураций.
  • Командам, которым важно централизованно поддерживать соответствие политик и собирать инвентарь.

Требования

  • Два сервера с Debian 10 (один для сервера Rudder, другой для агента или тестовой ноды).
  • Пароль root настроен на каждом сервере.
  • Доступ из браузера к порту HTTPS сервера Rudder (обычно 443).

Перед началом

Всегда обновите систему перед установкой:

apt-get update -y
apt-get upgrade -y

После обновления перезагрузите систему, если это требуется, чтобы применить изменения.

Установка Rudder Server

  1. Установите зависимости:
apt-get install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common -y
  1. Добавьте публичный ключ репозитория Rudder:
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | apt-key add -
  1. Добавьте репозиторий Rudder. Команда автоматически подставит кодовое имя дистрибутива (lsb_release -cs):
sh -c 'echo "deb http://repository.rudder.io/apt/6.0/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list'
  1. Обновите индексы и установите пакет сервера:
apt-get update -y
apt-get install rudder-server-root -y

Во время установки пакет dbconfig-common может предложить настроить базу данных для rsyslog-pgsql. На запрос конфигурации выберите “No” (Нет), чтобы продолжить автоматическую установку по умолчанию и не менять существующие настройки базы вручную.

Окно конфигурации rsyslog для Postgres

После успешной установки в выводе вы увидите подсказку, что веб-интерфейс доступен по адресу вида https://<ваш-хост>/rudder и сообщения запуска служб Rudder и Apache.

Пример важных сообщений в логе установки (сокращено):

You can access it via https://debian10/rudder
INFO: Make sure Rudder webapp is started... Done
INFO: Make sure Apache HTTPd is started... Done
Setting up rudder-server-root (6.0.2-debian10) ...
Created symlink /etc/systemd/system/multi-user.target.wants/rudder-server.service → /lib/systemd/system/rudder-server.service.

Версии, встречающиеся в примерах: Rudder 6.0.2, CFEngine Core 3.10.2, Debian 10. Эти версии зависят от времени публикации репозитория: перед развёртыванием проверьте актуальные версии в репозитории Rudder.

Доступ к веб-интерфейсу Rudder

Откройте браузер и перейдите по адресу:

https://your-server-ip/rudder/

Вы увидите страницу входа в систему.

Страница входа Rudder

По умолчанию используйте логин и пароль admin/admin. Нажмите кнопку SIGN IN, чтобы войти. После входа откроется панель управления Rudder.

Панель управления Rudder

Важно: сразу смените пароль администратора. Также настройте список разрешённых сетей в Settings → General → Allowed Networks, чтобы разрешить присоединение узлов из других подсетей.

Установка и настройка Rudder Agent

На каждой управляевой системе (ноды) выполните следующие шаги.

  1. Добавьте публичный ключ и репозиторий (те же команды, что для сервера):
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | apt-key add -
sh -c 'echo "deb http://repository.rudder.io/apt/6.0/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list'
  1. Установите агент:
apt-get update -y
apt-get install rudder-agent -y
  1. Укажите IP-адрес Rudder Server в конфигурационном файле агента:
nano /var/rudder/cfengine-community/policy_server.dat

В файл добавьте строку с IP-адресом вашего Rudder Server, например:

192.0.2.10

Сохраните изменения и перезапустите службу агента:

systemctl restart rudder-agent.service

Проверьте статус службы:

systemctl status rudder-agent.service

Ожидаемый пример вывода:

? rudder-agent.service - Rudder agent umbrella service
   Loaded: loaded (/lib/systemd/system/rudder-agent.service; enabled; vendor preset: enabled)
   Active: active (exited) since Fri 2020-01-31 08:00:37 UTC; 8min ago
     Docs: man:rudder(8)
           https://docs.rudder.io
 Main PID: 5177 (code=exited, status=0/SUCCESS)

Принятие нового узла в Rudder Server

На сервере Rudder перейдите: Node Management → Accept new nodes. Новый агент появится в списке ожидающих.

Список ожидающих узлов Rudder

Выберите узел и нажмите Accept.

Подтверждение принятия узла

После принятия узел появится в общем списке узлов. Для нового узла обычно отображается 100% несоответствия, так как политики ещё не применялись.

Узел успешно добавлен

Чтобы отправить инвентарь и запустить проверку политик на ноде, выполните локально на ноде:

rudder agent inventory

Пример вывода успешного инвентаря:

Rudder agent 6.0.2-debian10 (CFEngine Core 3.10.2)
Node uuid: 20200203-072526-c88cf5a0-8211-8a30bs00ffa9
Start execution with config [30471213-214835-13b4se13]

M| State         Technique                 Component                 Key                Message
E| compliant     Inventory                 inventory                                    The inventory has been successfully sent

## Summary #####################################################################
   => 1 components in Enforce mode
      -> 1 compliant
execution time: 11.27s
################################################################################

Быстрая проверка и отладка (playbook)

Шаги при проблемах с подключением агента:

  1. Убедитесь, что в /var/rudder/cfengine-community/policy_server.dat указан корректный IP/хост сервера Rudder.
  2. Проверьте сетевые правила (firewall, security groups) на портах 443/80 и других, если вы изменяли конфигурацию веб-сервера.
  3. Перезапустите службы на ноде: systemctl restart rudder-agent.service, затем systemctl status rudder-agent.service.
  4. На сервере Rudder проверьте логи: /var/log/rudder/ и логи Apache (обычно /var/log/apache2/).
  5. Если агент не появляется в списке ожидающих — проверьте, отправляет ли он инвентарь (rudder agent inventory) и нет ли ошибок в выводе.

Короткий runbook при неудачной проверке политик:

  • Шаг 1: Проверьте, доступны ли политики в веб-интерфейсе (Policies).
  • Шаг 2: На ноде выполните rudder agent inventory и rudder agent run (если доступна команда run).
  • Шаг 3: Сравните UUID ноды в выводе агента и в списке узлов на сервере.
  • Шаг 4: При необходимости удалите и заново примите узел в веб-интерфейсе.

Ролевые контрольные списки

Administrator (сконфигурировать сервер):

  • Установить и обновить Rudder Server.
  • Настроить HTTPS и валидный сертификат (не самоподписанный для прод-среды).
  • Сменить пароль admin и настроить RBAC.
  • Добавить Allowed Networks.
  • Настроить резервное копирование конфигураций и Git-бэкенд, если используется.

Operator (добавление узлов):

  • Установить Rudder Agent.
  • Вставить IP Rudder Server в policy_server.dat.
  • Перезапустить агент и выполнить rudder agent inventory.
  • Принять узел через Node Management и запустить первичную проверку.

Developer/DevOps (работа с политиками):

  • Создавать политики в редакторе политик Rudder.
  • Использовать Git бэкенд для версионирования.
  • Тестировать политики на тестовой группе узлов перед применением на проде.

Критерии приёмки

  • Веб-интерфейс Rudder доступен по HTTPS и отвечает.
  • Агенты подключены и видны в Node Management.
  • Выполнен рабочий инвентарь rudder agent inventory без ошибок.
  • Минимум одна политика применена в Enforce режиме и её статус — compliant или соответствует ожиданиям.

Тестовые сценарии и контроль качества

  • Тест 1: Установка сервера и вход в веб-интерфейс с admin/admin → пройти вход и сменить пароль.
  • Тест 2: Установка агента на тестовой машине → проверить, что node появляется в Accept new nodes.
  • Тест 3: Принятие узла и запуск rudder agent inventory → проверить, что инвентарь отправлен.
  • Тест 4: Создать простую политику, применить в Enforce → убедиться, что состояние nod’а меняется на compliant.

Рекомендации по безопасности

  • Не используйте admin/admin в проде. Сразу смените пароль и настройте двухфакторную аутентификацию, если Rudder интегрирован с LDAP/SSO.
  • Настройте HTTPS с валидным сертификатом от доверенного центра сертификации.
  • Ограничьте доступ к интерфейсу Rudder по IP (Allowed Networks) и настройте VPN/ашут-канал для удалённых узлов.
  • Регулярно обновляйте Rudder и операционную систему, чтобы закрывать уязвимости.

Миграция и совместимость

  • Репозиторий в инструкциях ориентирован на ветку 6.0. Перед миграцией на новую версию проверьте совместимость политик и обратитесь к официальной документации Rudder.
  • Если у вас есть Relay Servers, спланируйте их развёртывание до массовой регистрации клиентов, чтобы снизить нагрузку на главный сервер.

Когда этот подход не работает

  • Если инфраструктура изолирована без доступа к внешним репозиториям — вам потребуется локальный mirror репозитория Rudder.
  • Для очень мелких установок (1–2 хоста) полное развёртывание Rudder может быть избыточным; рассмотрите лёгкие конфигурационные инструменты в зависимости от задач.

Короткая методология при подключении новых узлов

  1. Подготовить ноду (обновления, сеть, root доступ).
  2. Установить агент по инструкциям и прописать IP сервера.
  3. Перезапустить агент и отправить инвентарь.
  4. Принять узел в веб-интерфейсе и назначить ему предварительные политики.
  5. Наблюдать статус и корректировать политики для достижения compliance.

Минимальные показатели и факты

  • Примерная версия в примерах: Rudder 6.0.2, CFEngine Core 3.10.2.
  • Debian 10 (Buster) — целевая платформа примера.
  • Команды управления службой: systemctl restart/status rudder-agent.service.

Цитата эксперта: “Управление конфигурацией — это не только автоматизация, но и процесс контроля соответствия; Rudder упрощает оба аспекта благодаря комбинации политики и инвентаризации.”

Диаграмма принятия узла (Mermaid)

flowchart TD
  A[Установка агента] --> B{policy_server.dat корректен?}
  B -- Да --> C[Перезапуск агента]
  B -- Нет --> D[Исправить IP и повторить]
  C --> E[Отправка инвентаря]
  E --> F{Нода появилась в Rudder?}
  F -- Да --> G[Accept new nodes]
  F -- Нет --> H[Проверить логи агента и сеть]
  G --> I[Назначить политики и наблюдать статус]

Заключение

В статье показаны все необходимые шаги для развёртывания Rudder Server и Rudder Agent на Debian 10: от подготовки системы и добавления репозитория до приёма узла и отправки инвентаря. Следуйте чек-листам и runbook’у при обнаружении проблем, обязательно обеспечьте безопасность доступа и используйте Git-бэкенд для версионирования политик. Если у вас остались вопросы по настройке конкретных политик или интеграции с LDAP/CI — задайте их, и я помогу с деталями.

Important: Перед развёртыванием в проде протестируйте политики на изолированной группе узлов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро