Skip to content

Latest commit

 

History

History
96 lines (59 loc) · 3.95 KB

README.md

File metadata and controls

96 lines (59 loc) · 3.95 KB

Loop Detector

techs


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

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

schema

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

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

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

schema

Настройка

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

GraphGen

Нужно создать файл .env в папке graph_gen/env с переменными окружения.

Пример файла со значениями по умолчанию находится в graph_gen/env/sample.env. На основе этого файла нужно создать свой.

Скопируем и заполним своими данными:

cp graph_gen/env/sample.env graph_gen/env/.env;

Можно его разместить в другом месте, но тогда придется указать его в docker-compose.yaml файле.

Подробнее про настройку GraphGen.

Далее нужно скопировать JSON файл с начальными правилами поиска сообщений о петлях в корень проекта. Для этого скопируем базовый файл (если нужно, в нём можно настроить свои параметры):

cp graph_gen/config/sample.es-matches.json es-matches.json;

Web App

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

Скопируем и заполним своими данными:

cp web_app/env/sample.env web_app/env/.env;

Запуск

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

Не удаляйте этот файл в дальнейшем!

touch notifications.json;

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

docker compose up -d

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

Визуализация

img.png

img.png

img.png

img.png