ig-rudenko / loop-detector

Приложение предназначено для анализа и мониторинга сетевых петель

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Loop Detector

techs


Приложение помогает выявлять и визуализировать текущие петли на сети, а также просматривать историю их возникновения.

Приложение обрабатывает логи, поступающие от сетевого оборудования, и определяет наличие петель в реальном времени. При обнаружении петли, приложение предоставляет графическое отображение связей между устройствами, что позволяет легко локализовать проблему и определить, на каком оборудовании её искать.

Система состоит из трех приложений:

  1. GraphGen - генератор графов Подробнее.
  2. WebApp - приложение на FastAPI для взаимодействия с графами через API.
  3. Frontend - Vue+TS+Vite

Структура приложения

schema

Настройка

  1. Для работы приложения необходимо иметь настроенные приложение Ecstasy и Elasticsearch.

  2. Для приложения GraphGen нужно создать файл .env в папке graph_gen/env с переменными окружения. Пример файла со значениями по умолчанию находится в graph_gen/env/sample.env. На основе этого файла нужно создать свой. Можно его разместить в другом месте, но тогда придется указать его в docker-compose.yaml файле.

  3. То же самое нужно проделать и для web_app. Пример файла переменных окружения находится в web_app/env/sample.env.

Запуск

Приложение запускается с помощью docker compose.

Для начала необходимо создать (либо указать свои) файлы сертификатов для nginx.

По умолчанию указаны следующие пути для поиска:

  • Приватный ключ /etc/ssl/private/selfsigned.key
  • Сертификат /etc/ssl/certs/selfsigned.crt
  • Ключи Диффи-Хеллмана /etc/ssl/certs/dhparam.pem

Перед запуском нужно создать файл в корне проекта (можно пустой) для хранения настроек оповещений о новых петлях. По умолчанию в docker-compose.yaml его название указано как notifications.json. Там будут создаваться способы оповещений.

Далее нужно запустить проект через docker compose.

Приложение будет сохранять граф петель и его сообщения в json файлы. Хранилище по умолчанию указано как ./loop_storage.

About

Приложение предназначено для анализа и мониторинга сетевых петель


Languages

Language:Python 48.5%Language:Vue 34.5%Language:TypeScript 13.9%Language:CSS 1.6%Language:Dockerfile 1.3%Language:HTML 0.2%