Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
A Shared Block
hiddentrue


Metadata list
hiddentrue
|| DeviceType | Сервис мониторинга и управления конфигурациями "ELTEX" |
|| DeviceName | ECCM |
|| DocTitleAdditional | Архитектура ECCM |
|| fwversion | 2.8 |
|| username | eccm |
|| password | eccm |

Корневая оглавления

Оглавление

Архитектура системы ECCM (Eltex Cloud Config Manager)

Граф зависимости сервисов друг от друга eccm-service-graph.html (не для прода, на основе него можно нарисовать схему взаимосвязей сервисов для этой документации)

ECCM — централизованная система мониторинга и управления сетевым оборудованием, реализованная в виде набора микросервисов, развёртываемых в Docker-контейнерах.

...

Архитектура системы

Архитектурный паттерн

Микросервисная архитектура на основе Docker-контейнеров. Межсервисная коммуникация: асинхронная через RabbitMQ (Pub-Sub, RPC) + синхронная через gRPC/Protobuf.

Функциональные

...

возможности

  • Управление устройствами — добавление
  • , группировка, конфигурирование (высокоуровневое: интерфейсы, VLAN, SNMP, VRF, зоны безопасности, профили, правила, доступ), шаблоны
  • , конфигурирование, шаблоны
    • Конфигурирование
      • WLC — профили SSID, RADIUS, Portal, Airtune, WIDS, привязки, мониторинг точек доступа
      • MES 
        • Административное управление — профили (общий, VLAN, Interface , Switchport, Storm Control), IP-фабрика
        • Оперативное управление — L1, L2, L3, VxLAN, EVPN Multihoming
      • Кластер ESR — мониторинг и управление кластерными устройствами
      • VSAT — MCPC/SCPC, MF-TDMA, мониторинг VSAT-устройств
    • Мониторинг — мониторинг доступности,
  • Мониторинг
    • SNMP-опрос, телеметрия, инвентаризация, дашборды, карты сети
    • Управление ПО — централизованное управление ПО на устройстве
    • Web-конфигуратор —  доступ до веб-интерфейса устройства
    • Web-терминал — SSH-доступ к CLI устройств через браузер
    • Лицензии — мониторинг и установка лицензий
  • Обнаружение проблем (Fault Management) — регистрация событий (syslog, SNMP trap), корреляция, MIB, уведомления
  • (email)
  • ,
  • проблемы
  • выявление проблем устройств
  • Обновление ПО — централизованное обновление firmware через TFTP/SFTP
  • Web-терминал — SSH-доступ к устройствам через браузер
  • Уведомление — уведомление пользователей о событиях и проблемах как в системе, так и на сети
  • ZTP (Zero-Touch Provisioning
  • (ZTP
  • ) — автоматическая начальная конфигурация устройств через DHCP
  • Управление сетью
  • группы,
  • дерево объектов, поиск
  • , высокоуровневое конфигурирование (
    • Групповые операции над устройствами перезагрузка, обновление ПО, конфигурирование и т. д.
    • IP-Fabric — построение IP-фабрик сети из устройств MES ROS 5.0+ с помощью высокоуровневого конфигурирования (ISIS, BGP, OSPF, L2/L3, VxLAN, EVPN Multihoming), также есть функционал автообнаружения
    • БШПД — обнаружение, добавление ТД + STA, мониторинг доступности, мониторинг радиометрик
    • Кластер — кластер из WLC/ESR устройств одной модели, валидация состава, мониторинг состояние кластера: роли ACTIVE/STANDBY, статус синхронизации конфигов/ПО/лицензий и VRRP
    • Спутниковый MCPC-сегмент — группа устройств VSAT (EVT) в режиме SCPC, где каждый терминал имеет выделенную несущую, хранение частотного плана, собственную логику валидации
    • Спутниковый SCPC-сегмент — группа устройств VSAT (EVT)
  • Лицензирование — системные лицензии, лицензии для устройств
  • Резервное копирование — бэкап базы данных
    • в режиме SCPC, где каждый терминал имеет выделенную несущую, хранение частотного плана, собственную логику валидации
    • Спутниковый MF-TDMA-сегмент — иерархическая структура из трех групп устройств VSAT (EVS/EVT), основная группа с частотным планом, параметров пакетов передач, параметров несущих обратных каналов, параметров группы несущих обратных каналов, сетевыми параметрами, подгруппа STATIONS для станций, подгруппа WORKSPACE для терминалов, защита от удаления при активном статусе сети(ENABLED, NO_SYNC), мониторинг сетевого статуса, синхронизация конфигурации устройства и системы
  • Лицензирование — лицензирование системы 
  • Публичное API — REST API для интеграции со внешними системами
  • Управление WLC — профили SSID, RADIUS, Portal, Airtune, WIDS, привязки, мониторинг точек доступа
  • Управление MES — профили (общий, VLAN, Interface L2, Switchport, Storm Control), VxLAN, EVPN Multihoming, IP-фабрика
  • Управление VSAT — MCPC/SCPC, MF-TDMA, мониторинг VSAT-устройств
  • Управление кластерами — мониторинг и управление кластерными устройствами

Backend-микросервисы (Kotlin 2.1.21, Spring Boot 3.5, JDK 21)

  • Конфигурирование параметров мониторинга
    • Конфигурирование параметров опросов SNMP, ICMP, SSH. Изменение интервалов опроса метрик и интервалов обнаружения и хранения сущностей мониторинга.
    • Конфигурирование параметров доступа по SNMP, SSH.
  • Интеграция с SIEM
  • Безопасность
    • Журналирование — журнал действий пользователей, журнал безопасности, журнал API, настройка периода хранения
    • Авторизация/Аутентификация — OAuth/OIDC, LDAP
    • RBAC — ограничение доступа к системе на основе служебных обязанностей (ролей)
    • Администрирование паролей — настройка сложности и срока действия паролей

Backend-сервисы

СервисНазначение

backend-ui

API Gateway

device-manager

Основной сервис: управление
СервисПортНазначениеbackend-ui8081REST API, агрегация данных для фронтендаdevice-manager8083Управление
устройствами, шаблоны, конфигурации

monitoring-service

8088

SNMP-опрос, сбор телеметрии (горизонтально масштабируемый)

data-presenter

8089Фоновые и

Агрегация и презентация данных (горизонтально масштабируемый)

cron-manager

8082
Планировщик задач на устройствах. Подключается по SSH и управляет задачами. Также планирует периодические задачи

problem-manager

8099

Корреляция событий, обнаружение проблем

notification-service

8100

Уведомления
по email и событиям
о событиях по каналам доставки

delivery-manager

8102Доставка конфигураций на устройства
Используется для интеграции с SIEM, external alerting и т. д.

syslog-receiver

514 (TCP/UDP)

Приём syslog-сообщений от устройств

trap-receiver

8098 (API), 162/UDP (trap)

Приём SNMP trap от устройств

upgrader

8084Обновление
Управление ПО устройств
(TFTP :69/UDP, SFTP :2222/TCP)
, обновление

ztp-manager

8095Web

Zero-Touch Provisioning устройств

terminal-manager

8097
Веб-терминал (SSH-сессии к устройствам)

identity-provider

9999

Аутентификация, авторизация, RBAC, OAuth/OIDC

license-service

8103

Лицензирование системы и функционала

vsat-manager

8105

Управление VSAT-устройствами
СервисНаружные портыВнутренний портПримечание
backend-ui-8081
device-manager-8083
monitoring-service-8088
data-presenter-8089
cron-manager-8082
problem-manager-8099
notification-service-8100
delivery-manager-8102
syslog-receiver${ECCM_SYSLOG_PORT}${ECCM_SYSLOG_PORT}Настраивается, по умолчанию 514
trap-receiver162162
-8098
upgrader6969
222222
-8084
ztp-manager-8095
terminal-manager-8097
identity-provider-9999
license-service-8103
vsat-manager-8105

Инфраструктурные сервисы

СервисВерсияНазначениеTimescaleDB
PostgreSQL 16.11 + TimescaleDB 2.24Основная база данных: реляционные данные + временные ряды (телеметрия). HA-режим: repmgr (failover)
Redis8.4.2Кэш, сессии пользователей. HA-режим: Sentinel
Redis Sentinel Сервис для обеспечения высокой доступности (High Availability) Redis в режиме кластера
RabbitMQRabbitMQ4.2.4Message broker (AMQPS :5671). Межсервисная асинхронная коммуникация (Pub-Sub, RPC)
Nginx (ECCM Gateway)1.29.6API-шлюз, обратный прокси. Порты: 80/443
Kea DHCPDHCP-сервер для ZTP. Порт: 67/UDP
epg-serviceСервис лицензирования оборудования
keepalived + VRRPВиртуальный IP для HA-режима (cluster)
Jaeger1.8.1Distributed tracing (опционально)

...

СервисНаружные портыВнутренний портПримечание
TimescaleDB54325432
Redis63796379
Redis Sentinel 2637926379В режиме кластера
RabbitMQ56715671
43694369В режиме кластера
2567225672В режиме кластера
Nginx (ECCM Gateway)${ECCM_WEB_PORT}, 80Настраивается, по умолчанию 80
${ECCM_WEB_HTTPS_PORT}443Настраивается, по умолчанию 443
Kea DHCP6767При включенном DHCP
epg-service-8100

Frontend (Web GUI)

СервисНазначение
Web GUIСтатическое фронтенд-приложение
СервисНаружные портыВнутренний порт
Web GUI-80
  • Angular 20.3.18, TypeScript 5.8.3, RxJS 7.5.5
  • Node.js 20
  • (
  • среда сборки
  • )
  • Cytoscape — визуализация сетевой топологии
  • Monaco Editor — редактор конфигураций
  • xterm — web-терминал SSH

Сетевая архитектура (Docker сети)

  • external
  • (по умолчанию подсеть 172.20.0.0/20, но может быть изменена через переменные окружения) — публичные сервисы (доступ к устройствам, API)
  • internal
  • (по умолчанию подсеть 172.21.0.0/20, но может быть изменена через переменные окружения) — межсервисная коммуникация (изолированная docker-сеть)

Режимы работы

StandaloneОднохостовое развёртывание. Один сервер со всеми сервисами и базой данных
Cluster (HA)Горячее резервирование из 3 узлов: master / , slave / , witness. PostgreSQL repmgr (синхронная репликация, failover), Redis Sentinel, RabbitMQ-кластер, keepalived + VRRP (виртуальный IP). TLS-шифрование межсервисной связи
KubernetesРазвёртывание через Helm chart
AnsibleАвтоматизированная установка через Ansible playbooks (online/offline, с резервированием и без)

...

Scroll Pagebreak

Используемое программное обеспечение

Backend

КомпонентТехнологияВерсия
ЯзыкKotlin2.
1
3.
21
20
ФреймворкSpring Boot3.5.13
JDK
OpenJDK 21
JDK
21
25
Система сборкиGradle
+ Jib—
9.4.1

Frontend

КомпонентТехнологияВерсия
ФреймворкAngular20.3.18
ЯзыкTypeScript5.8.3
Среда выполненияNode.js20
Реактивная библиотекаRxJS7.5.5

Инфраструктура

КомпонентТехнологияВерсия
База данных
(реляционная + timeseries)
PostgreSQL 
PostgreSQL + TimescaleDB
16.11
+
TimescaleDB2.24.0
Кэш и сессииRedis8.4.2
Message brokerRabbitMQ4.2.4
API-шлюзNginx1.29.6
DHCP-серверKea DHCP
Distributed tracingJaeger
Epg-serviceepg-service1.
8.1
3

Scroll Pagebreak

Среда

...

развертывания

КомпонентТехнологияВерсия
КонтейнеризацияDocker20.10+
Оркестрация контейнеровDocker Composev2.17+
KubernetesHelm chartАвтоматизация установкиAnsible

Поддерживаемые операционные системы

  • Ubuntu 22/24
  • RED OS 7/8
  • AstraLinux
  • Astra Linux 1.7.5
  • ALT Linux 10
    Scroll Pagebreak

...

Предварительные условия и ограничения

Минимальные системные требования

ПараметрМинимумРекомендуется
CPU4 ядра8+ ядер
RAM8 16 ГБ16–32 ГБ
Диск200 ГБЗависит от объёма телеметрии и числа количества устройств

Программные требования

...

  • Docker 20.10+ (
  • AstraLinux
  • Astra Linux: docker-compose-v2 ≥ 2.17.0)
  • OpenJDK
  • 21
  • 25 — для сборки из исходных кодов
  • Make — для сборки проекта
  • curl, conntrack — для установки и работы conntrack-таблиц

Открытые порты

...

...

Сетевые требования

  • Сервер должен иметь доступ к управляемым устройствам по протоколам: SSH, SNMP, TFTP/SFTP
  • Две Docker-сети: external (устройства/внешние сервисы) и internal (межсервисная коммуникация)
  • Для HA-режима требуется виртуальный IP (keepalived + VRRP)

Ограничения HA-режима (Cluster)

  • Кластер состоит из 3 узлов: master, slave, witness
  • Всё межсервисное общение в кластере шифруется посредством TLS
  • PostgreSQL: repmgr (синхронная репликация master ↔ slave, witness для quorum)
  • Redis: Sentinel (failover при недоступности master)
  • RabbitMQ: кластеризация с TLS (AMQPS)
  • Необходимы TLS-сертификаты (кластерный сертификат + root CA)