ОКПД2 62.03.11
Система мониторинга сети D4NMS
Руководство по эксплуатации
D4NMS РЭ
2026
Оглавление
- 🚀 Быстрый старт
- 1.1. Требования
- 1.2. Первый запуск
- 1.3. 📋 Что включено
- 1.4. 🔧 Полезные команды
- 1.5. 📱 Использование
- 1.6. Основное окно программы
- Работа с устройствами
- 2.1. Добавление устройства
- 2.2. Добавление нового устройства
- 2.3. Редактирование устройства
- 2.4. Удаление устройства
- 2.5. Просмотр деталей. Обзор
- 2.6. Просмотр деталей. Интерфейсы
- 2.7. Просмотр деталей. Конфигурация команд
- 2.8. Просмотр деталей. История мониторинга
- 2.9. Просмотр деталей. Алерты
- 2.10. Просмотр деталей. Опрос команд
- 2.11. Просмотр деталей. SNMP OID
- Управление пользователями
- 📁 Структура проекта
- 📚 Документация
- 🛠️ Разработка
- 📝 Лицензия
- Особенности
- 📚 Документация API
- 🔐 Безопасность
Данное руководство предназначено для администраторов и операторов, эксплуатирующих программу NMS (Network Management System).
Программное обеспечение (ПО) D4NMS предназначено для предприятий, управляющих сетевыми устройствами (маршрутизаторы, коммутаторы и т.д.), с целью:
- автоматизации мониторинга состояния сетевых устройств;
- централизованного управления конфигурациями;
- сбора и анализа статистических данных;
- оповещения о нештатных ситуациях.
D4NMS — лёгкая система мониторинга сетевых устройств с веб-интерфейсом и real-time обновлениями.
1. 🚀 Быстрый старт
1.1. Требования
1.2. Первый запуск
1.2.1. Настройте переменные окружения:
- Скопируйте пример конфигурации:
cp .env.example .env
- Сгенерируйте ключ шифрования для SSH паролей:
docker-compose run --rm backend python -m app.encryption
- Добавьте сгенерированный ключ в .env:
ENCRYPTION_SECRET_KEY=your-generated-key-here
1.2.2. Запустите систему:
Windows:
start.bat
Linux/Mac:
chmod +x start.sh
./start.sh
1.2.3. Остановка:
Windows:
stop.bat
Linux/Mac:
./stop.sh
⚠️ Важно: Для production окружения обязательно смените ENCRYPTION_SECRET_KEY и SECRET_KEY в .env файле!
1.3. 📋 Что включено
- Backend API (FastAPI) — порт 8000;
- Frontend (React) — порт 3000;
- Monitoring Worker — фоновый мониторинг;
- Redis — кэширование и очереди;
- SQLite — база данных.
1.4. 🔧 Полезные команды
Просмотр статуса сервисов:
docker-compose ps
Просмотр логов:
docker-compose logs -f
Перезапуск сервиса:
docker-compose restart backend
Остановка всех сервисов:
docker-compose down
1.5. 📱 Использование
1.5.1. Первый вход:
- Откройте
http://localhost:3000 — после запуска программы появится окно входа в систему:
- Войдите под учётной записью администратора по умолчанию:
- Имя пользователя:
admin;
- Пароль:
admin123.
- ⚠️ ВАЖНО: Измените пароль после первого входа!
1.6. Основное окно программы
1.6.1. Основное окно программы содержит:
- список подключённых устройств с отображением статуса;
- столбец действий;
- просмотр деталей — позволяет настроить параметры мониторинга устройств (п. 2.5);
- редактирование устройства (п. 2.3);
- удаление устройства (п. 2.4).
2. Работа с устройствами
2.1. Добавление устройства
- 2.1.1. Нажмите на вкладку «Добавить устройство».
- 2.1.2. Заполните данные устройства (IP, SSH, SNMP).
- 2.1.3. Устройство появится в списке с real-time статусом. Нажмите на вкладку «Все типы» и выберите нужный.
- 2.1.4. Определите «Статус» на соответствующей вкладке.
Существует сортировка по:
- названию;
- IP-адресу;
- типу;
- статусу;
- времени отклика.
- 2.1.5. Обновить конфигурацию: синхронизируйте настройки с устройством.
- 2.1.6. Перезагрузить: отправьте команду перезагрузки.
- 2.1.7. Изолировать: отключите устройство от сети.
2.2. Добавление нового устройства
- 2.2.1. Нажмите на вкладку «Добавить новое устройство».
- 2.2.2. Выберите тип устройства.
- 2.2.3. Выберите производителя устройства.
- 2.2.4. Выберите детали устройства.
- 2.2.5. Выполните настройки SNMP.
SNMP конфигурация:
- SNMP v1 (устаревшая) — низкая безопасность, использует общедоступные community-строки (например, public), уязвима к атакам;
- SNMP v2c (рекомендуется) — улучшенная версия с поддержкой 64-битных счётчиков, но всё ещё использует community-строки (без шифрования);
- SNMP v3 (безопасный) — единственная версия с полноценной безопасностью, включая аутентификацию и шифрование. Используется в современных сетях для защиты от несанкционированного доступа.
SNMP v3 требует указать дополнительные параметры.
2.3. Редактирование устройства
Кнопка «Редактировать устройство» — позволяет изменить настройки, заданные при добавлении устройства.
2.4. Удаление устройства
Кнопка «Удалить устройство» — удаляет устройство из системы.
2.5. Просмотр деталей. Обзор
Общая информация об устройстве.
2.6. Просмотр деталей. Интерфейсы
Отображает информацию о состоянии сетевых интерфейсов.
2.7. Просмотр деталей. Конфигурация команд
2.7.1. Конфигурация команд из шаблона
По нажатию кнопки «Выполнить» команда на устройстве по протоколу SSH выполняется из шаблона, созданного в окне «Конфигурация программ».
2.7.2. Конфигурация команд. Произвольная команда
По нажатию кнопки «Выполнить» команда на устройстве по протоколу SSH выполняется произвольная команда.
2.7.3. Конфигурация команд. Окно шаблонов команд
Позволяет создавать шаблоны команд SSH для устройств. Создание шаблона.
2.8. Просмотр деталей. История мониторинга
2.8.1. История мониторинга — отображает историю опросов устройства.
2.9. Просмотр деталей. Алерты
2.9.1. Вывод алертов выбранного устройства.
2.10. Просмотр деталей. Опрос команд
2.10.1. Кнопка «Опрос команд». Конфигурация — настройка автоматического опроса команд.
2.10.2. Кнопка «Опрос команд». История результатов — просмотр результатов выполненных опросов.
2.11. Просмотр деталей. SNMP OID
2.11.1. Кнопка «SNMP OID». Конфигурации — настройка OID для опроса.
2.11.2. Кнопка «SNMP OID». Результаты
- Графическое представление — данные в виде графиков:
- Табличное представление — данные в виде таблицы:
Вывод алертов по устройствам:
Возможна сортировка по:
- серьёзности;
- устройству;
- типу;
- статусу;
- дате создания.
Действия: по кнопке — переходит на «Просмотр деталей. Алерты».
3. Управление пользователями
3.1. Только для администраторов:
- 3.1.1. Нажмите на иконку профиля в правом верхнем углу;
- 3.1.2. Выберите «Управление пользователями»;
- 3.1.3. Создавайте, редактируйте или удаляйте пользователей;
- 3.1.4. Нажмите на вкладку «Добавить пользователя»:
- 3.1.5. Создайте пользователя и определите его роль:
3.1.6. Определение базовых ролей:
D4NMS поддерживает 5 ролей с различными уровнями доступа:
| Роль |
Описание |
Основные права |
| Администратор |
Полный доступ |
Все функции плюс управление пользователями |
| VoIP Админ |
Управление IP-телефонами |
Полный доступ к IP-телефонам, просмотр остального |
| Оператор |
Мониторинг и отчёты |
Просмотр, отчёты, стандартные команды |
| Пользователь |
Просмотр данных |
Просмотр устройств и сводных отчётов |
| Гость |
Минимальный доступ |
Только журнал событий и статус устройств |
3.1.7. Действия над пользователями — создание, редактирование, удаление через интерфейс управления.
📖 Подробное руководство: см. USER_ROLES_GUIDE.md
4. 📁 Структура проекта
Project_D4NMS/
├── backend/ — FastAPI backend
├── frontend/ — React frontend
├── data/ — SQLite база данных
├── docker-compose.yml — Docker конфигурация
├── start.bat/sh — Скрипты запуска
└── stop.bat/sh — Скрипты остановки
5. 📚 Документация
- SECURITY:
./SECURITY.md
- THREAT MODEL:
./THREAT_MODEL.md
- DEPLOYMENT:
./DEPLOYMENT.md
- TESTING:
./TESTING.md
- STYLEGUIDE:
./STYLEGUIDE.md
- CHANGELOG:
./CHANGELOG.md
6. 🛠️ Разработка
6.1. Пересборка после изменений:
docker-compose up --build -d
6.2. Просмотр логов конкретного сервиса:
docker-compose logs -f backend
docker-compose logs -f frontend
docker-compose logs -f monitoring
7. 📝 Лицензия
MIT License
8. Особенности
- ✅ JWT аутентификация с токенами на 24 часа;
- ✅ Безопасное хеширование паролей (bcrypt);
- ✅ Ограничение: максимум 3 администратора;
- ✅ Специальная логика для VoIP администратора;
- ✅ Автоматическое создание администратора по умолчанию.
9. 📚 Документация API
После запуска системы документация доступна по адресам:
- Swagger UI:
http://localhost:8000/docs
- ReDoc:
http://localhost:8000/redoc
Все эндпоинты с русскими названиями и описаниями!
10. 🔐 Безопасность
- ✅ SSH пароли автоматически шифруются в базе данных (Fernet encryption);
- ✅ JWT аутентификация с токенами на 24 часа;
- ✅ Система ролей и прав доступа (5 ролей);
- ✅ Безопасное хеширование паролей пользователей (bcrypt);
- ✅ Поддержка различных SSH портов;
- ✅ Таймауты для предотвращения зависания;
- ✅ История всех выполненных команд.