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

Ключ

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


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

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

Оглавление

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

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

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

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

Функциональные возможности

  • Управление устройствами — добавление, конфигурирование, шаблоны
    • Конфигурирование
      • 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, уведомления, выявление проблем устройств
  • Уведомление — уведомление пользователей о событиях и проблемах как в системе, так и на сети
  • ZTP (Zero-Touch Provisioning) — автоматическая начальная конфигурация устройств через 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 для интеграции со внешними системами
  • Конфигурирование параметров мониторинга
    • Конфигурирование параметров опросов SNMP, ICMP, SSH. Изменение интервалов опроса метрик и интервалов обнаружения и хранения сущностей мониторинга.
    • Конфигурирование параметров доступа по SNMP, SSH.
  • Интеграция с SIEM
  • Безопасность
    • Журналирование — журнал действий пользователей, журнал безопасности, журнал API, настройка периода хранения
    • Авторизация/Аутентификация — OAuth/OIDC, LDAP
    • RBAC — ограничение доступа к системе на основе служебных обязанностей (ролей)
    • Администрирование паролей — настройка сложности и срока действия паролей

Backend-сервисы

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

backend-ui

API Gateway

device-manager

Основной сервис: управление устройствами, шаблоны, конфигурации

monitoring-service

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

data-presenter

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

cron-manager

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

problem-manager

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

notification-service

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

delivery-manager

Используется для интеграции с SIEM, external alerting и т. д.

syslog-receiver

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

trap-receiver

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

upgrader

Управление ПО устройств, обновление

ztp-manager

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

terminal-manager

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

identity-provider

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

license-service

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

vsat-manager

Управление 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Основная база данных: реляционные данные + временные ряды (телеметрия). HA-режим: repmgr (failover)
RedisКэш, сессии пользователей
Redis Sentinel Сервис для обеспечения высокой доступности (High Availability) Redis в режиме кластера
RabbitMQМежсервисная асинхронная коммуникация (Pub-Sub, RPC)
Nginx (ECCM Gateway)API-шлюз, обратный прокси
Kea DHCPDHCP-сервер для ZTP
epg-serviceСервис лицензирования оборудования
keepalived + VRRPВиртуальный IP для HA-режима (cluster)
СервисНаружные портыВнутренний портПримечание
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-шифрование межсервисной связи

Scroll Pagebreak

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

Backend

КомпонентТехнологияВерсия
ЯзыкKotlin2.3.20
ФреймворкSpring Boot3.5.13
JDKJDK25
Система сборкиGradle9.4.1

Frontend

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

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

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

Scroll Pagebreak

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

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

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

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

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

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

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

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

  • Docker 20.10+ (Astra Linux: docker-compose-v2 ≥ 2.17.0)
  • OpenJDK 25 — для сборки из исходных кодов

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

  • Сервер должен иметь доступ к управляемым устройствам по протоколам: 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)