Веб-интерфейс для рабочего места машиниста эксгаустера. Сервис для приема и сохранения потока данных с эксгаустера и предоставления интерфейса доступа к этим данным.
- backend - папка с кодом backend части. В том числе с потребителем кафки и описанием базы данных. Backend реализован на FastAPI, база данных MongoDB
- compose - папка с Dockerfile
- frontend - папка с кодом клиентской части. Frontend реализован на VueJS с использованием фреймворка Vuetify3
- predictor - папка с кодом модели для предсказаний
Для предсказания выхода из строя эксгаустера используется регрессия временных рядов для амплитуды колебаний на подшипниках.
Сейчас для модели предсказания реализованы:
- Линейный тренд, который строится по MSE-метрике
- Модель Холта-Уинтерса с аддитивной сезонностью
Параметр сезонности для модели Холта-Уинтерса подбирался вручную по анализу временных рядов за последний месяц.
После предсказания прогнозируемой даты пересечения временного ряда заданного предупредительного значения, находится наискорейшая (по всем колебаниям - горизонтальным, вертикальным, аксиальный) дата и возвращается в качестве прогнозируемой даты выхода из строя подшипника в совокупности с причиной выхода из строя (типом колебаний)
Демо решение расположено по адресу foxhound-team.pro
Для запуска локально, см. Развертывание через docker-compose
Документация по API доступна по пути foxhound-team.pro/docs
- Установить docker
- В папке compose создать файл .env и заполнить его в соответствии с примерами (.env.example)
- Запустить команду docker compose up -d с правами суперпользователя
sudo docker compose up -d
- Настроить внешний nginx, который будет пересылать все запросы на порт приложения
Файлы: .env
Тип: целое число
Назначение: порт на котором будет крутиться приложение
Файлы: .env
Тип: строка
Назначение: пароль для kafka
Все команды необходимо выполнять в папке compose
- Остановить все контейнеры
sudo docker-compose stop
- Перезапустить контейнер
sudo docker-compose restart {container_name}
- Запуск ipython
sudo docker-compose exec backend ipython