{% extends "base.html" %} {% block title %}Настройки - AWM{% endblock %} {% block content %}

Настройки

О системе

Название
Версия

Для обновления выполните — sudo apt upgrade awm -y

Лицензия: проверка...
Информация о лицензии загружается...

Остальные параметры сгруппированы ниже — откройте соответствующий раздел.

Инструменты и зависимости

Пути к Ansible и Terraform

Укажите абсолютные пути, если бинарники установлены нестандартно и не определяются через PATH.

Как найти и какие пути указывать
Нужны бинарники: ansible, ansible-playbook и при необходимости terraform.
На сервере: which ansible, which ansible-playbook, which terraform.
Примеры: /usr/bin/ansible, /usr/bin/ansible-playbook, /usr/bin/terraform, /usr/local/bin/terraform
Пустые поля — автопоиск через PATH.
Если paramiko не установлен
Устанавливайте модуль в тот Python, который использует Ansible (см. поле Python Ansible ниже).
Для вашего случая обычно подойдет:
sudo apt update && sudo apt install -y python3-paramiko
или через pip именно для интерпретатора Ansible:
sudo /usr/bin/python3 -m pip install paramiko
После установки обновите эту страницу и проверьте, что статус сменился на «paramiko: установлен».
Системные пакеты: sshpass и acl
sshpass — Ansible по SSH с паролем (без ansible_connection=paramiko) и бэкапы на SSH-host с паролем. acl — права на каталоги данных (/var/lib/awm/data) при совместной работе сервиса и Ansible.
sudo apt-get update && sudo apt-get install -y sshpass acl
Интерфейс

Кастомизация системы

Настройка названий и текстов в интерфейсе (шапка, страница входа, компания).

Меню навигации

Порядок пунктов в боковом меню и видимость разделов. Снятие «Отображать» скрывает пункт только из меню — раздел по прямой ссылке остаётся доступен. Плагины — отдельным блоком под основным меню.

Основное меню
Подменю плагинов

Порядок вкладок в блоке «Плагины» (только включённые плагины с пунктом меню).

Безопасность

Политики безопасности

Автовыход по неактивности, срок жизни и сложность пароля, режим технических работ, доступ к API по постоянным токенам и базовые меры по персональным данным.

Действует только при включённом флаге выше. Без флага (или при таймауте < 1 мин) сессия по простою не завершается. Пока открыты SSH-терминал или удалённое управление, активность учитывается. Срок жизни access-токена (JWT) настраивается отдельно в env.
После истечения срока пользователь должен сменить пароль при следующем обращении.
При включении локальные пользователи могут подключить TOTP в профиле. После подключения при входе потребуется код из приложения. Пользователи SSO проходят MFA на стороне поставщика идентификации.
При повторном входе под той же учётной записью предыдущие активные сессии AWM завершаются. Пользователь может дополнительно включить режим для себя в профиле; при глобальном включении отключить персонально нельзя.
Если включено, пользователь может в профиле (**Сессии**) включить опцию «Оставаться в системе». Cookie и срок refresh-токена для такого входа задаются полем ниже. Без разрешения администратора вход после закрытия браузера не сохраняется.
От 1 до 90. По умолчанию 7.
При включении: вход только для роли admin и пользователей с правом system.access_during_maintenance; постоянные API-токены, Agent и Worker получают 503; на странице входа показывается текст ниже.
По умолчанию после первой настройки выключено. Включите, чтобы интеграции и скрипты могли вызывать API с токеном awm_pat_…. Выключено — внешние запросы с PAT отклоняются (ответ 503), веб-интерфейс не затрагивается. При режиме технических работ PAT блокируется независимо от этого переключателя.
0 — без ограничения. Иначе пользователь не сможет создать больше указанного числа активных токенов (отозванные не учитываются). В профиле отображается «Токенов N/M».
Текст и версия берутся из файла PRIVACY в корне установки (как LICENSE). Чтобы пользователи подтвердили согласие заново, измените строку Версия: в файле.
Ретенция персональных данных
Правила применяются к регистрации и смене пароля локальных пользователей.
Почта (SMTP)

Глобальный SMTP

Один SMTP-сервер на всю систему для email-уведомлений. Пользователи в профиле включают копии на свой адрес и выбирают типы событий; персональные SMTP-параметры не задаются.

Обычно порт 587
Обычно порт 465; не совмещать с STARTTLS
Пусто — email текущего пользователя
Внешний syslog

Отправка событий AWM

Передача выбранных событий на внешний syslog-сервер. Приём входящих сообщений настраивается в разделе Системный журнал.

По умолчанию 16 (local0)
По умолчанию 6 (info)
Записи журнала аудита
Плейбуки, команды, Terraform
Явные сообщения об ошибках выполнений
Запросы uvicorn.access (высокий объём)
Записи awm.* и uvicorn.error
Шаблоны уведомлений

Шаблоны сообщений (канал и email)

Задайте формат с переменными {{ '{{TITLE}}' }}, {{ '{{MESSAGE}}' }}, {{ '{{NAV_URL}}' }} и др. Пустые поля — встроенный красивый формат. Картинки только по URL ({{ '{{LOGO_URL}}' }} / <img src="…">). Шаблоны по конкретному типу события перекрывают общий шаблон.

«Общий» — один шаблон; под канал и email подставляется автоматически
Сначала задайте общий шаблон; отдельные типы (и wildcards вроде monitoring_*) его перекрывают
Для канала тема не используется. Пусто — {% raw %}AWM: {{TITLE}}{% endraw %}
Сохраняется в канал (HTML) и в email (HTML + plain) для выбранного типа события
Подпись
Только текст (без HTML). Переносы строк сохраняются.
Формат {{ '{{ИМЯ}}' }} (регистр не важен). Клик по карточке — вставка в активное поле. Пустые/неизвестные переменные дают пустую строку. Группы свёрнуты — откройте нужную.
Выполнение задач и Redis

Фоновые задачи (Celery)

Встроенный режим или очередь фоновых задач (Redis и отдельный worker). При активных узлах исполнения playbook, команды, Terraform и бэкапы идут на них; очередь можно включить параллельно для отчётов и админ-задач (PDF, CSV, восстановление, диагностика).

builtin — в процессе приложения. celery — Redis и отдельный Celery worker.
В режиме auto используется формула: cores // 2 + 1.
Если локальный Celery worker упал — AWM периодически перезапускает его. После 5 неудачных попыток подряд администраторы получают уведомление, watchdog приостанавливается.

AWM Worker (execution plane)

Отдельные узлы исполнения: регистрация на главном сервере и очередь задач Ansible, Terraform и резервного копирования. Не заменяет настройки очереди отчётов выше.

Как главный сервер выбирает воркер для задачи из очереди worker_jobs. Учитываются только узлы в сети, свободная ёмкость и совпадение labels (если в задаче заданы required_labels).

  • fifo — первая подходящая pending-задача; воркер забирает её при опросе (порядок постановки в очередь).
  • least_loaded — задача достаётся узлу с наименьшей загрузкой (capacity_in_use / capacity_max).
  • round_robin — циклически между подходящими узлами (по имени), чтобы равномерно распределять нагрузку.

Максимальное время удержания задачи воркером после claim (статус running). Если воркер завис или пропал из сети и не завершил задачу за этот интервал, главный сервер возвращает её в очередь pending — её может подхватить другой узел.

Минимум 60 сек. Типично: 3600 (1 ч) для длинных playbook/terraform; для коротких command — 600–1800. Слишком малый lease даёт ложные повторы при тяжёлых run.

Производительность Redis

Ускорение кэша: при включении кэш переключается на Redis и выполняется попытка локального запуска (контейнер или системная служба).

{% if can_manage_guacamole_settings %}
Удалённое управление (Guacamole)

Интеграция Guacamole

Параметры подключения к шлюзу удалённого доступа. Списки пользователей, групп и сессий — в Администрирование → Guacamole. Требуется лицензия Corp.

{% set guac_id_prefix = "settings-guac" %} {% include "partials/guacamole_settings_panel.html" %}
{% endif %}
Сеть и публичный URL

Сетевые и публичные параметры

Настройки адресации и параметров доступа: FQDN, URL, IP/host, порт и политика браузерных запросов.

Статус: —
Если поле заполнено, доступ разрешен только из этих сетей.
Эти сети блокируются в приоритете (deny выше allow).

Профили доступа по путям

Дополнительно к глобальным CIDR: ограничить приём метрик/воркеров, scrape Prometheus и админ-API отдельными сетями. Пустой CIDR профиля не добавляет ограничений. Рекомендуется сочетать с раздельным nginx (см. AWM.02.008).

RFC1918 + localhost во все профили с пустым полем.
Перед сохранением выполняется проверка ENV (AWM.02.008): слабый JWT и CORS/TRUSTED=* блокируют сохранение. После смены JWT перезапустите сервис.
База данных (PostgreSQL)

Миграция БД в PostgreSQL

Укажите параметры PostgreSQL и запустите миграцию SQLite → PostgreSQL. Перенос выполняется в фоне (страница опрашивает статус); при реверс-прокси с коротким таймаутом не закрывайте вкладку до завершения. Опционально: обновление env и рестарт сервиса.

Можно оставить пустым для автопоиска. Если не найдено — укажите путь вручную.
Диагностические данные

Диагностические данные

ZIP для службы поддержки: ОС и сеть, awm.service / awm-worker.service, backend задач (builtin / Celery / awm-worker), PostgreSQL, Redis, лицензия, узлы worker API, логи AWM и хвосты journalctl. Секреты и payload задач не включаются. Просмотр: python3 diagnostic/diagnostics-support-viewer.py --bundle путь.zip.

{% if can_manage_guacamole_settings %} {% else %} {% endif %} {% endblock %}