Sign inSign up

prvtpro/sd-prod

By prvtpro

Updated 9 months ago

^-^

Image
Networking
Monitoring & observability
0

159

prvtpro/sd-prod repository overview

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
Запуск с помощью 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

Запуск:

docker-compose up -d

⚙️ Переменные окружения

ПеременнаяОписаниеОбязательнаяПо умолчанию
DB_HOSTАдрес сервера PostgreSQL✅ Да-
DB_PORTПорт PostgreSQL✅ Да5432
DB_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. Автоматизация
  • Планировщик задач для периодического опроса
  • Автоматическое создание бэкапов конфигураций
  • Настраиваемые триггеры для автоматических действий

🔧 Конфигурация

Настройка подключения к устройствам
  1. Войдите в админ-панель: http://localhost:5010/admin
  2. Перейдите в раздел "Устройства"
  3. Добавьте устройства с указанием IP-адресов и учетных данных
Настройка планировщика
  1. Перейдите в раздел "Настройки"
  2. Настройте параметр interval (интервал опроса в минутах)
  3. Настройте другие параметры согласно вашим требованиям

🐳 Использование 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
Остановка и удаление
# Остановка контейнера
docker stop search_device

# Удаление контейнера
docker rm search_device

# Остановка и удаление (если использовался docker-compose)
docker-compose down

⚠️ Устранение неполадок

Ошибка подключения к базе данных
  1. Проверьте, что PostgreSQL запущен и доступен
  2. Убедитесь, что переменные окружения настроены правильно
  3. Проверьте сетевое подключение между контейнером и БД
Ошибка "relation does not exist"

Приложение автоматически создает все необходимые таблицы при первом запуске. Если возникает ошибка:

  1. Убедитесь, что база данных создана
  2. Проверьте права пользователя БД на создание таблиц
  3. Просмотрите логи для детальной информации
Проблемы с SSH-подключением к устройствам
  1. Проверьте доступность устройств из контейнера
  2. Убедитесь, что учетные данные правильные
  3. Проверьте настройки firewall

📚 Дополнительная информация

  • Приложение автоматически создает базу данных и таблицы при первом запуске
  • Поддерживается автоматическое обновление информации о сертификатах
  • История изменений хранится согласно настройкам (по умолчанию 7 дней)
  • Бэкапы конфигураций создаются автоматически при изменениях

🔒 Безопасность

  • Используйте сильные пароли для базы данных
  • Смените пароль администратора после первого входа
  • Ограничьте доступ к веб-интерфейсу через firewall
  • Используйте HTTPS в production окружении

📞 Поддержка

При возникновении проблем:

  1. Проверьте логи контейнера
  2. Убедитесь в правильности переменных окружения
  3. Проверьте доступность базы данных и сетевых устройств

📄 Лицензия

[]


Версия: 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)

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`

Tag summary

Content type

Image

Digest

sha256:64b72d746

Size

113.2 MB

Last updated

9 months ago

docker pull prvtpro/sd-prod:0.4.1