Дипломная работа - SIEM.
Что умеет?
- Создавать подсистемы в реальном времени
- Исполнять код в подсистемах в реальном времени
- Собирать логи с существующих систем
- Проксировать запросы согласно конфигурации
- Рендерить темплейты в реальном времени
Из чего состоит?
- redis - Сбор информации с брокера RabbitMQ
- RabbitMQ - Брокер, созданный для планировки и бэкграунд задач
- fastapi rest - ядро системы
- Grafana - собирает все необходимые логи с PostreSQL
- PostreSQL - хранение логов
Стек
- dramatiq - замена Celery. Работает как подпроцесс supervisord
- docker/python docker sdk - удобная библиотека для работы с docker socket HTTP API
- grafana client - подобие docker sdk, не очень удобная библиотека для работы с grafana HTTP API
- fastapi - асинхронный фреймворк для обработки запросов
- uvicorn - веб сервер для fastapi, ускоряем работу сервиса по максимуму
Deploy
- Необходимо создать .env файл для дальнейшего запуска в docker-compose, содержащий в себе значения:
- DEBUG - ключ, отвечающий за то, где будет запущена система: локально или в docker.
- ROOT_PATH - путь до корневой директории.
- GF_USERNAME - имя пользователя, указанного в docker-compose для входа в UI графаны
- GF_PASSWORD - паролья пользователя, указанного в docker-compose для входа в UI графаны
- PSQL_USERNAME - имя пользователя, указанного в docker-compose для создания datasource в графане
- PSQL_PASSWORD - пароль пользователя, указанного в docker-compose для создания datasource в графане