Системные требования
Стек и ориентиры для версии 1.0.0
| Компонент | Версия или требование |
|---|---|
| Серверная ОС | Linux x86_64 с совместимым Docker-окружением. Поддержку конкретной ОС подтверждают испытанием поставки. |
| Сервер приложения | Серверный компонент СОПКА.Рой и фоновые задачи поставляются в готовых контейнерах. Параметры масштабирования выбираются для согласованного профиля нагрузки. |
| Основная СУБД | PostgreSQL 16. |
| История событий | ClickHouse; базовый образ в Compose - 25.8-alpine, фактический tag задаётся конфигурацией. |
| Бинарные материалы | RustFS или настроенное S3-совместимое объектное хранилище. |
| Контейнеры | Docker Engine 24+ и Docker Compose Plugin v2. |
| Reverse proxy | Nginx или совместимый прокси с HTTPS и поддержкой WebSocket. |
| Браузер | Актуальный Chromium, Chrome, Edge, Яндекс Браузер или Firefox. |
| Агент | Windows 10/11 x64, права локального администратора для установки. |
Расчётный профиль: 1000 одновременно работающих агентов
Под одновременной работой понимаются 1000 подключённых компьютеров, регулярно передающих состояние и события. Это не означает 1000 запросов в одну миллисекунду или 1000 одновременно открытых прямых экранов. Ресурсы ниже - начальная конфигурация для испытания выбранного профиля; подтверждённая ёмкость определяется измерениями конкретной установки.
| Источник нагрузки | Принято в расчёте | Нагрузка от 1000 агентов |
|---|---|---|
| Сообщения состояния | Раз в 10 секунд: исходный интервал текущего агента. | Около 100 запросов/с в установившемся режиме. Запуск и восстановление связи проверяются отдельно. |
| События контроля | Умеренный профиль: одно событие в минуту от каждого агента, условно отдельный запрос на событие. | Около 16,7 событий и запросов/с; 1,44 млн событий/сутки при круглосуточной работе. Фактическая упаковка событий может изменить число запросов. |
| Снимки рабочего стола | При включении: один снимок раз в 5 минут, исходный интервал агента. Расчёт за 24 часа. | Около 3,3 загрузок/с и 288 000 снимков/сутки. Каждый снимок дополнительно обрабатывается, сохраняется вместе с миниатюрой и регистрируется. |
| Операторы | До 10 одновременно работающих пользователей консоли как условие расчётного профиля. | Просмотр клиентов, событий и дашборда. Построение отчётов, массовые выгрузки и поиск по большой истории проверяются отдельно. |
| Прямой экран и файлы | В базовую конфигурацию не включены массовый прямой экран, одновременное обновление всей сети и массовая передача файлов. | Число сессий, частота кадров, размеры файлов и параллельность заданий задаются отдельным профилем. |
Базовый поток без снимков составляет примерно 117 запросов/с; со снимками - примерно 120 запросов/с до учёта дополнительных запросов, команд, подтверждений, получения конфигурации и работы операторов. Число событий в минуту является допущением, а не ограничением или измеренной средней нагрузкой агента.
Ресурсы для локального развёртывания
| Контур | Начальный ресурсный бюджет | Условия применения |
|---|---|---|
| Функциональный стенд | 8 vCPU, 16 ГБ RAM, 150 ГБ SSD; 1-2 экземпляра приложения. | Небольшая тестовая группа и короткое хранение. Не использовать как заявленную конфигурацию на 1000 агентов. Уменьшенное число экземпляров приложения задаётся при развёртывании. |
| 1000 агентов, интенсивный профиль | 32 vCPU, 128 ГБ RAM как начальный бюджет; отдельные диски или узлы для баз данных и объектов. | Порядка 10 событий/мин на агент, активная отчётность, поиск, загрузки и прямые экраны. Диск и сеть вычисляются по фактическому потоку, а не по числу компьютеров. |
| Отказоустойчивость и обновление | Дополнительный ресурс для резервного узла, копий и временно работающих экземпляров приложения. | Приведённые ресурсы относятся к одному рабочему узлу. Наличие нескольких контейнеров на нём не обеспечивает устойчивость к потере самого узла. |
vCPU здесь означает доступную вычислительную мощность виртуального процессора; 16 vCPU не тождественны 16 физическим ядрам. При совместном использовании хоста или ограничении CPU контейнеров учитывается фактически доступный ресурс. Для 64 ГБ RAM ориентировочно планируют 12 ГБ для приложения и фоновых задач, 12 ГБ для PostgreSQL, 16 ГБ для ClickHouse, 4 ГБ для серверных служб, 8 ГБ для хранилища и мониторинга, 8 ГБ для ОС и служебных нужд, 4 ГБ резерва. Это бюджет планирования, а не замер потребления или готовые лимиты контейнеров.
Расчёт диска и сроков хранения
В расчётах ниже КБ, МБ, ГБ и ТБ используются в десятичном смысле. Размер снимка - размер сохранённого основного изображения после серверной обработки, без миниатюры. Реальный размер зависит от разрешения, содержимого и формата; его следует измерить на выбранных рабочих станциях.
| Данные и допущение | Суточный объём | Объём за срок хранения |
|---|---|---|
| 1000 агентов, снимок раз в 5 минут, средний размер 200 КБ. | 57,6 ГБ основных изображений. | 1,728 ТБ за 30 дней. С учётом 20% свободного места: 2,16 ТБ ещё до миниатюр и служебных данных; первоначально планировать от 2,5 ТБ доступного объектного хранилища и уточнять по замерам. |
| Тот же поток, средний размер снимка 1 МБ. | 288 ГБ основных изображений. | 8,64 ТБ за 30 дней. С учётом 20% свободного места: 10,8 ТБ до миниатюр и служебных данных; первоначально планировать от 12 ТБ и уточнять по замерам. |
| Одно событие/мин на агент, средний логический размер события 2 КБ. | 1,44 млн событий; 2,88 ГБ логических данных. | 86,4 ГБ за 30 дней или 518,4 ГБ за 180 дней до учёта сжатия, индексов, служебных данных и копий. Логический объём не равен физическому объёму базы. |
| 10 событий/мин на агент при тех же 2 КБ. | 14,4 млн событий; 28,8 ГБ логических данных. | 864 ГБ за 30 дней или 5,184 ТБ за 180 дней до учёта особенностей хранения. Начальные 1 ТБ для баз данных не покрывают этот профиль с длительной историей без отдельного расчёта. |
Формула основных снимков: число агентов × 86 400 / интервал в секундах × средний сохранённый размер × дни хранения. При рабочем дне 8 часов вместо круглосуточной работы соответствующий объём уменьшается примерно втрое. Для событий применяется средняя частота событий и измеренный размер записи. Ёмкость с 20% свободного места рассчитывается как занятый объём / 0,8.
Отдельно добавляют миниатюры, вложения, историю версий объектов, журнал PostgreSQL, служебные журналы, запас очереди событий при временной недоступности истории, временные файлы и резервные копии. Объём реплицированного или защищённого хранилища рассчитывается по доступной полезной ёмкости, а не по сумме номиналов дисков. Срок хранения задаётся явно: расчёт за 30 дней не покрывает историю за 180 дней.
Пропускная способность сети
Поток снимков 200 КБ раз в 5 минут от 1000 агентов составляет около 0,67 МБ/с, или 5,3 Мбит/с; для снимков 1 МБ - около 3,33 МБ/с, или 26,7 Мбит/с. Это средний поток основных загрузок, без служебного обмена, повторов, просмотра материалов и резервного копирования. Для внешнего канала начальный ориентир умеренного профиля - 100 Мбит/с доступной полосы с последующей проверкой пиков; внутри серверного контура - 1 Гбит/с или выше.
Прямые экраны рассчитываются отдельно: число одновременных потоков × кадров/с × средний размер кадра; учитывается также доставка зрителям. Массовое скачивание обновлений, загрузки файлов и восстановление накопленной очереди могут превышать повседневный поток. Частоты отправки должны распределяться во времени; совпадение всех запусков проверяется как отдельный пик.
Параллельность приложения и соединения с данными
Параллельная обработка обеспечивается несколькими экземплярами серверного компонента и фоновыми задачами. Число экземпляров, ограничения соединений и ресурсы хранилищ согласуются с нагрузкой. 1000 агентов не требуют 1000 постоянных соединений с базой данных: соединения распределяются между запросами.
Одна лишь настройка числа потоков или реплик не доказывает пропускную способность. Проверяются суммарные подключения приложения, фоновых задач, миграций и мониторинга, ожидание пула, лимиты памяти, задержки диска и очередь событий. При обновлении учитывается суммарный ресурс одновременно работающих старых и новых экземпляров.
Подтверждение мощности установки
Приведённый бюджет на 1000 агентов не является результатом завершённого нагрузочного испытания. Перед вводом измеряют заявленный профиль на стенде с теми же ресурсами, каналами, сроками хранения и объёмом истории: 1000 работающих агентов, события, снимки и действия операторов одновременно. Чистый тест heartbeat не подтверждает производительность снимков, отчётов или прямого экрана.
Для базового теста ёмкости в проекте предусмотрены ориентиры: удержание целевого числа зарегистрированных виртуальных агентов не менее 15 минут, p95 ответа не более 1 секунды, доля ошибок не более 1%, рост очереди за выдержку не более 100 событий и возраст старейшего ожидающего события не более 120 секунд. Это критерии короткого теста, а не гарантия SLA. Дополнительно требуется длительный прогон с проверкой стабильности памяти, скорости очистки истории и отсутствия нарастающей очереди.
Отдельно оценивают регистрацию и восстановление связи, загрузку накопленных событий, обновление агентов и работу при временной недоступности хранилищ. В журнале испытания фиксируют аппаратную конфигурацию, настройки экземпляров и пулов, состав нагрузки, размеры материалов, RPS, p95/p99, ошибки, CPU, память, диск и состояние очередей. Генератор нагрузки размещают отдельно от сервера, чтобы он не отнимал измеряемые ресурсы.
Требования к рабочей станции агента
| Ресурс | Требование |
|---|---|
| ОС | Windows 10 22H2 или Windows 11, x64. |
| CPU | 2 логических ядра и более. |
| RAM | Ориентир для всей рабочей станции: 4 ГБ для базового стенда, от 8 ГБ для работы. Это не объём памяти, выделяемый агенту, и не измеренный минимум для всех каналов; влияние поиска и обработки экрана проверяется на целевой конфигурации. |
| Диск | Место для исполняемых файлов и версионных слотов, локальной очереди (настройка bundle — до 4 ГБ) и временных материалов. Объём рассчитывается для выбранных каналов. |
| Права | Локальный администратор для установки службы; пользовательский компонент запускается в сеансе пользователя. |
| Сеть | Исходящий HTTPS/WebSocket к опубликованному адресу /roy. |
Требования для установки и автообновления агента
- агент устанавливается на Windows x64 с правами администратора;
- клиент должен иметь сетевой доступ к публичному адресу
/royсервера; - для автоматического обновления нужен доступ к API версии агента и endpoint скачивания update grant;
- на рабочей станции должен сохраняться каталог установки, версионные слоты и журналы updater в
ProgramData.
Сетевое взаимодействие
| Порт | Назначение | Публикация |
|---|---|---|
| 443/TCP | Веб-интерфейс, API агентов и WebSocket через внешний reverse proxy. | Доступен пользователям и агентам по правилам организации. |
| 5030/TCP | Порт Nginx на хосте по умолчанию (COPKA_ROY_HTTP_PORT); порт 5000 используется внутри контейнера. | По умолчанию только 127.0.0.1. |
| 5432/TCP | PostgreSQL. | Только внутренняя сеть Docker; порт на хост не публикуется. |
Хранение данных
PostgreSQL хранит прикладные сущности и outbox, ClickHouse - историю DLP-событий, RustFS/S3 - бинарные материалы. серверные службы обслуживает оперативное состояние. Для каждого постоянного хранилища требуется отдельный расчёт объёма, свободного места и резервирования.
Для оценки снимков используйте формулу: средний размер снимка × число клиентов × число снимков в сутки × срок хранения. К расчёту добавьте запас для индексов PostgreSQL, журналов, обновлений и резервных копий.
Резервное копирование
Резервируйте PostgreSQL, ClickHouse, объекты S3, конфигурацию и ключи. Копии храните отдельно и проверяйте восстановлением. Копирование только каталога приложения не восстанавливает историю и материалы.
Импортозамещение и совместимость
PostgreSQL и контейнерная архитектура поддерживаются текущим проектом. Совместимость клиентского агента с Astra Linux, РЕД ОС, Альт и РОСА в версии 1.0.0 не заявляется. Windows-агент требует отдельной проверки для каждой редакции ОС и политики безопасности организации.
Публикация сервисов
ClickHouse и объектное хранилище в основном составе сервисов доступны во внутренних сетях. Порт Grafana по умолчанию привязан к localhost; доступ к аналитике настраивается отдельно. Фактические сетевые привязки сверяются с конфигурацией установки.
SaaS и локальное развёртывание
Для SaaS организации нужны поддерживаемый браузер, Windows-компьютеры с агентом, доступ к выданному HTTPS-адресу и права на установку. Серверные зависимости обслуживает поставщик. Для локального развёртывания организация дополнительно предоставляет контейнерный сервер, хранилища, DNS, TLS, резервные копии и мониторинг. Расчётные ресурсы выше относятся к локальному серверу, а не к компьютеру оператора SaaS.
Серверные зависимости поставки
| Компонент | Назначение и базовая версия |
|---|---|
| Сервер СОПКА.Рой | Готовые контейнеры продукта; отдельная установка прикладных библиотек не требуется. |
| PostgreSQL 16 и PgBouncer | Хранение основных данных и управление соединениями. |
| ClickHouse 25.8 | Хранение истории событий. |
| S3-совместимое хранилище | Хранение снимков и файловых материалов; в поставке используется RustFS. |
| Nginx | Публикация HTTPS-адреса и поддержка интерактивных соединений. |
| Prometheus и Grafana | Мониторинг состояния локального развёртывания; административный доступ настраивается отдельно. |
Базовые версии соответствуют поставке и не означают совместимость с любой более новой версией. Обновления эксплуатационных компонентов выполняются в составе совместимого выпуска продукта.
Зависимости установленного Windows-агента
Готовый установочный пакет содержит необходимые компоненты выполнения агента. Отдельная установка языка программирования, компилятора или средств разработки на рабочие станции не требуется.
Служебные операции требуют предусмотренных прав Windows; захват рабочего стола и интерактивные функции требуют доступной пользовательской сессии. USB-контроль и изоляция зависят от устройств, драйверов и разрешения компонентов защитным ПО. Включение возможности не устраняет ограничения защищённого рабочего стола или занятого файла.
Сеть, время и ёмкость
Нужен доступ к согласованному HTTPS-адресу, корректная цепочка сертификата, синхронизация времени и поддержка WebSocket прокси для интерактивных функций. При нескольких репликах проверяется согласованность маршрутизации. Прямой экран, снимки и файловые операции повышают расход сети и диска.
Расчёт хранилища включает события, материалы, сроки хранения, резервные копии и запас для обновлений. Приведённые размеры - ориентиры, а не гарантированное число клиентов. Проверяйте нагрузку на выбранном наборе каналов и реальной частоте событий; планируйте обслуживание и проверку восстановления.
Основание ресурсных оценок
Профиль передачи состояния, интервалы снимков и состав сервисов сверены с текущим кодом и конфигурацией поставки. Средняя частота событий, их размер и аппаратный бюджет являются явно указанными допущениями. Общие принципы выбора диска и памяти согласуются с рекомендациями ClickHouse; ограничения соединений сверяются с документацией PostgreSQL 16. Эти источники не подтверждают производительность СОПКА.Рой на 1000 агентов.
Ресурсы AI-анализа
AI-чат требует серверных PostgreSQL и серверные службы, современного браузера с JavaScript и доступности настроенного внешнего сервиса генерации. Общая граница параллельных анализов, дневные квоты и длительность ограничивают расход. Установка локальной языковой модели на агент не требуется. PDF печатается на сервере из шаблона раздела «Отчёты»; Chromium включён в серверный образ и запускается только на время экспорта. Публичный поиск зависит от отдельного сервиса.
Подробнее: AI-чат: анализ безопасности.