Быстрый переход
Настоящий документ содержит руководство по установке программного продукта vNMS (Virtual Network Management System), предоставленного для экспертной оценки. Продукт объединяет две функциональные области управления сетью: управление сетью (инвентарь, дерево управляемых объектов, аварии, надзор за узлами) и анализ производительности (загрузка файлов измерений, хранение счётчиков, агрегация, KPI и отчёты).
Основные функциональные возможности:
Управление сетью:
Ведение инвентаря сетевых элементов с поддержкой дерева управляемых объектов
Редактирование конфигурации объектов через FDN-адресацию с поддержкой шаблонов
Управление авариями с корреляцией, подтверждением и архивом
Надзор за узлами с автоматическим созданием аварий при отсутствии данных
Журнал событий сетевых элементов
Управление синхронизацией и состоянием узлов
Анализ производительности:
Загрузка ROP-файлов измерений в формате 3GPP TS 32.435
Хранение счётчиков с поддержкой разреженных индексов и векторных значений
Агрегация данных по уровням (ROP, час, день)
Расчёт KPI по формулам с поддержкой шаблонов счётчиков
Проверка порогов KPI с автоматическим созданием аварий
Формирование отчётов в форматах CSV и TXT
Связь между подсистемами:
Автоматическое создание аварий при превышении порогов KPI
Привязка измерений к узлам из инвентаря
Надзор за узлами на основе поступления данных измерений
Программное обеспечение распространяется в исходных кодах и собирается с использованием CMake. Актуальная версия исходного кода хранится в системе контроля версий Git.
Программное обеспечение является кроссплатформенным и может быть установлено на различные операционные системы семейства UNIX и Windows. Сборка выполняется с использованием CMake без дополнительных зависимостей — SQLite, pugixml и zlib входят в состав исходного кода.
Минимальные требования (для тестовых и ознакомительных целей):
Процессор: 2 ядра x86-64
Оперативная память: 4 ГБ
Дисковое пространство: 500 МБ
Рекомендуемые требования (для лабораторных сред):
Процессор: 4-8 ядер x86-64
Оперативная память: 8-16 ГБ
Дисковое пространство: 10 ГБ (для хранения логов, базы данных и файлов измерений)
Сетевой интерфейс: 1 Гбит/с и более
Серверные ОС:
Ubuntu Server 20.04 LTS / 22.04 LTS и более поздние
Debian 11 / 12
Rocky Linux 8 / 9
Десктопные ОС (для разработки и тестирования):
Ubuntu Desktop 20.04 / 22.04 и более поздние
Windows 10/11 (с использованием WSL2 или нативной сборки)
Для сборки из исходного кода необходимы:
Компилятор с поддержкой C++17 (GCC 9+, Clang 10+, MSVC 2019+)
Система сборки CMake версии 3.10 или новее
Git (для получения исходного кода)
Ninja (рекомендуется) или Make
Все остальные зависимости (SQLite, pugixml, zlib) входят в состав исходного кода и собираются вместе с проектом.
Для работы с базой данных SQLite дополнительной настройки не требуется. Для обеспечения стабильной работы при высоких нагрузках рекомендуется настроить параметры системы.
Параметры сетевого стека (Linux):
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
net.core.netdev_max_backlog = 5000
Перед началом сборки необходимо установить требуемые пакеты.
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install -y git cmake build-essential ninja-build
Linux (Rocky Linux):
sudo dnf install -y git cmake gcc-c++ make ninja-build
Windows (MSVC):
Установите Visual Studio 2019 или новее с компонентом "Разработка классических приложений на C++". Для сборки с Ninja рекомендуется установить его через пакетный менеджер или использовать встроенный генератор Visual Studio.
Исходный код доступен в системе контроля версий Git. Адрес репозитория необходимо уточнить у ответственного за распространение программного обеспечения.
После получения адреса репозитория выполните клонирование:
git clone <адрес_репозитория>
cd vnms
Linux / macOS / MinGW:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
Windows (MSVC с генератором Ninja):
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
Windows (MSVC с генератором Visual Studio):
cmake -S . -B build -A x64
cmake --build build --config Release
Для проверки корректности сборки запустите тесты:
ctest --test-dir build --output-on-failure
Все тесты должны успешно выполняться. Для запуска программы выполните:
Linux / macOS:
./build/vnms --help
Windows:
.\build\Release\vnms.exe --help
или
.\build\vnms.exe --help (в зависимости от генератора)
Программа должна вывести справку по использованию.
После сборки исполняемый файл находится в директории build/. Для установки в системную директорию выполните:
sudo cmake --install build --prefix /usr/local
После установки программа будет доступна как команда vnms.
Для использования без установки можно запускать исполняемый файл непосредственно из директории build/.
Если при установке был выбран нестандартный каталог, добавьте его в переменную окружения PATH. Для этого отредактируйте файл ~/.bashrc или ~/.profile, добавив строку:
export PATH=$PATH:/путь/к/каталогу/с/программой
После редактирования примените изменения:
source ~/.bashrc
Для Windows добавьте каталог с vnms.exe в переменную окружения PATH через системные настройки.
Убедитесь, что программа доступна для запуска из любой директории:
vnms --version
vnms status
При первом запуске база данных vnms.db создаётся автоматически. Схема базы обновляется при каждом запуске — миграции применяются по номерам, уже применённые пропускаются.
Для запуска программы в контейнерной среде используется Dockerfile, расположенный в корневой директории с исходным кодом.
Выполните сборку образа, указав тег:
docker build -t vnms:latest .
Для запуска контейнера выполните:
docker run -v $(pwd)/data:/app/data vnms:latest status
Для интерактивной работы:
docker run -it -v $(pwd)/data:/app/data vnms:latest /bin/bash
Параметр -v монтирует локальную директорию для хранения базы данных и файлов измерений.
Для просмотра логов контейнера используйте:
docker logs <container_id>
Для остановки контейнера:
docker stop <container_id>
Для удаления контейнера:
docker rm <container_id>
Программа поддерживает следующие переменные окружения:
VNMS_DB — путь к файлу базы данных SQLite (по умолчанию vnms.db)
VNMS_LOG_LEVEL — уровень логирования (error, warn, info, debug)
VNMS_LOG_JSON — вывод лога в формате JSON
VNMS_LOG_FILE — файл для дублирования лога
Программа поддерживает следующие глобальные параметры командной строки:
--db=<файл> — путь к файлу базы данных SQLite (по умолчанию vnms.db)
--log-level=error|warn|info|debug — уровень логирования
--log-json — вывод лога в формате JSON
--log-file=<файл> — дублирование лога в указанный файл
--help — вывод справки по программе
--version — вывод версии программы
Каждая подкоманда имеет собственные параметры. Для получения справки по конкретной команде используйте:
vnms help <команда>
Например:
vnms help ne
vnms help pm
vnms help kpi
Полный каталог конфигурационных параметров в машиночитаемом виде доступен в файле параметров исходного кода. Подробное описание параметров приведено в документации.
Информация
Адрес
242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33
Быстрый переход
Информация
Отдел продаж
+7 (953) 284-42-23
sales@ericssonsoftware.ru
Адрес
242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33