Search Device - Система управления сетевыми устройствами
🔧 Приложение для мониторинга и управления сетевыми устройствами (коммутаторы, маршрутизаторы)
📋 Описание
Search Device — это веб-приложение для автоматизированного мониторинга и управления сетевыми устройствами Cisco и других производителей. Система позволяет:
✅ Мониторинг состояния портов коммутаторов и маршрутизаторов
✅ Автоматический сбор информации об устройствах (ARP таблицы, MAC-адреса, VLAN)
✅ Отслеживание истории изменений в сети
✅ Управление сертификатами SSL/TLS
✅ SSH-терминал для прямого доступа к устройствам
✅ Система ролей и прав доступа
✅ Автоматические бэкапы конфигураций
✅ Планировщик задач для периодического опроса устройств
🚀 Быстрый старт
Требования
Docker и Docker Compose
PostgreSQL база данных (должна быть доступна)
Сеть с доступом к управляемым сетевым устройствам
Запуск с помощью Docker
# Загрузка образа
docker pull prvtpro/sd-prod:0.4
# Запуск контейнера
docker run -d \
--name search_device \
-p 5010:5007 \
-e DB_HOST=your_db_host \
-e DB_NAME=search_device_prod \
-e DB_PASSWORD=your_password \
-e DB_PORT=5432 \
-e DB_USER=your_db_user \
--restart unless-stopped \
prvtpro/sd-prod:0.4
Copy
Запуск с помощью Docker Compose
Создайте файл docker-compose.yml:
version: '3.8'
services:
search_device:
image: prvtpro/sd-prod:0.4
container_name: search_device
environment:
- DB_HOST=your_db_host
- DB_NAME=search_device_prod
- DB_PASSWORD=your_password
- DB_PORT=5432
- DB_USER=your_db_user
ports:
- "5010:5007"
restart: unless-stopped
Copy
Запуск:
docker-compose up -d
Copy
⚙️ Переменные окружения
Переменная Описание Обязательная По умолчанию DB_HOSTАдрес сервера PostgreSQL ✅ Да - DB_PORTПорт PostgreSQL ✅ Да 5432DB_USERПользователь базы данных ✅ Да - DB_PASSWORDПароль базы данных ✅ Да - DB_NAMEИмя базы данных ✅ Да search_device_prod
🔐 Доступ к приложению
После запуска приложение будет доступно по адресу:
Учетные данные по умолчанию
Логин: admin
Пароль: admin
⚠️ ВАЖНО: Обязательно смените пароль администратора после первого входа!
📊 Основные возможности
1. Мониторинг устройств
Автоматическое обнаружение и мониторинг сетевых устройств
Отслеживание состояния портов и интерфейсов
Сбор информации о MAC-адресах и VLAN
История изменений в сети
2. Управление сертификатами
Проверка SSL/TLS сертификатов
Мониторинг сроков действия сертификатов
Автоматическое обновление информации о сертификатах
3. SSH-терминал
Веб-интерфейс для SSH-подключения к устройствам
Выполнение команд на удаленных устройствах
Поддержка интерактивных сессий
4. Система прав доступа
Роли пользователей (admin, operator, viewer)
Ограничение доступа по группам устройств
Ограничение доступа по VLAN
Управление правами на выполнение команд
5. Автоматизация
Планировщик задач для периодического опроса
Автоматическое создание бэкапов конфигураций
Настраиваемые триггеры для автоматических действий
🔧 Конфигурация
Настройка подключения к устройствам
Войдите в админ-панель: http://localhost:5010/admin
Перейдите в раздел "Устройства"
Добавьте устройства с указанием IP-адресов и учетных данных
Настройка планировщика
Перейдите в раздел "Настройки"
Настройте параметр interval (интервал опроса в минутах)
Настройте другие параметры согласно вашим требованиям
🐳 Использование Docker образа
Образы
prvtpro/sd-prod:0.4 - текущая стабильная версия
Теги
0.4 - версия 0.4 (текущая)
latest - последняя версия (если доступна)
📝 Архитектура
Backend: Flask (Python 3.8)
База данных: PostgreSQL
Frontend: HTML, CSS, JavaScript
WebSocket: Flask-SocketIO для реального времени
SSH: Paramiko для подключения к устройствам
🔍 Логи и отладка
Просмотр логов контейнера
# Все логи
docker logs search_device
# Логи в реальном времени
docker logs -f search_device
# Последние 100 строк
docker logs --tail=100 search_device
Copy
Остановка и удаление
# Остановка контейнера
docker stop search_device
# Удаление контейнера
docker rm search_device
# Остановка и удаление (если использовался docker-compose)
docker-compose down
Copy
⚠️ Устранение неполадок
Ошибка подключения к базе данных
Проверьте, что PostgreSQL запущен и доступен
Убедитесь, что переменные окружения настроены правильно
Проверьте сетевое подключение между контейнером и БД
Ошибка "relation does not exist"
Приложение автоматически создает все необходимые таблицы при первом запуске. Если возникает ошибка:
Убедитесь, что база данных создана
Проверьте права пользователя БД на создание таблиц
Просмотрите логи для детальной информации
Проблемы с SSH-подключением к устройствам
Проверьте доступность устройств из контейнера
Убедитесь, что учетные данные правильные
Проверьте настройки firewall
📚 Дополнительная информация
Приложение автоматически создает базу данных и таблицы при первом запуске
Поддерживается автоматическое обновление информации о сертификатах
История изменений хранится согласно настройкам (по умолчанию 7 дней)
Бэкапы конфигураций создаются автоматически при изменениях
🔒 Безопасность
Используйте сильные пароли для базы данных
Смените пароль администратора после первого входа
Ограничьте доступ к веб-интерфейсу через firewall
Используйте HTTPS в production окружении
📞 Поддержка
При возникновении проблем:
Проверьте логи контейнера
Убедитесь в правильности переменных окружения
Проверьте доступность базы данных и сетевых устройств
📄 Лицензия
[]
Версия: 0.4
Поддерживаемые платформы: Linux, Windows, macOS (через Docker)
#Use only 0.3!!!
Uses env param:
ENV DB_HOST
ENV DB_PORT
ENV DB_USER
ENV DB_PASSWORD
ENV DB_NAME
ENV ADMIN_PANEL # param start -> /(hard-secret-token)
Copy
How run
docker run -e DB_HOST=127.0.0.1 -e DB_PORT=5432 -e DB_USER=user -e DB_PASSWORD=password -e DB_NAME=name -e ADMIN_PANEL=/admin123 -p 5055:5007 sd-prod:0.3`
Copy