Приложение помогает выявлять и визуализировать текущие петли на сети, а также просматривать историю их возникновения.
Приложение обрабатывает логи, поступающие от сетевого оборудования, и определяет наличие петель в реальном времени. При обнаружении петли, приложение предоставляет графическое отображение связей между устройствами, что позволяет легко локализовать проблему и определить, на каком оборудовании её искать.
Система состоит из трех приложений:
- GraphGen - генератор графов Подробнее.
- WebApp - приложение на FastAPI для взаимодействия с графами через API.
- Frontend - Vue+TS+Vite
-
Для работы приложения необходимо иметь настроенные приложение Ecstasy и Elasticsearch.
-
Для приложения
GraphGen
нужно создать файл.env
в папкеgraph_gen/env
с переменными окружения. Пример файла со значениями по умолчанию находится вgraph_gen/env/sample.env
. На основе этого файла нужно создать свой. Можно его разместить в другом месте, но тогда придется указать его вdocker-compose.yaml
файле. -
То же самое нужно проделать и для
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
.