Python v.3.9, Django v.3.2.8, Django REST framework v.3.12.4, Redis v.6.2, Docker v.20.10.8.
Web-сервис, позволяющий узнать текущую загрузку сервера: ЦПУ, ОЗУ, ГПУ (при наличии; поддерживаются только ГПУ от NVIDIA); каждый запрос сохраняется, можно получить все запросы в формате "время запроса MM:DD:hh:mm:ss": {"метод запроса", **"запрошенные данные"}.
Доступ к сервису осуществляется через API.
- получение всех значений загрузки
request api/usage/current/ [GET]
response
{
"date": "str", # дата в формате MM:DD:hh:mm:ss
"cpu": float, # загрузка ЦПУ в процентах
"gpu": float, # загрузка ГПУ в процентах
"memory": float # загрузка ОЗУ в процентах
}
- получение отдельных значений загрузки
request api/usage/current/ [POST]
["cpu", "memory"]
response
{
"date": "str",
"cpu": float,
"memory": float
}
- получение информации по обработанным запросам
request api/usage/ [GET]
response
{
"date": "str",
"cpu": float,
"gpu": float,
"memory": float,
"request_method": "str" # метод запроса
}
{
...
}
...
- удаление всей информации по обработанным запросам
request api/usage/ [POST]
- удаление отдельных записей по обработанным запросам в заданном промежутке времени
request api/usage/ [POST]
"from_date": "MM:DD:hh:mm:ss",
"until_date": "MM:DD:hh:mm:ss"
Для запуска требуются docker и docker compose. Клонировать репозиторий:
git clone https://github.com/vargg/yamdb_final.git
В корневом каталоге проекта создать файл .env
в котором должны быть заданы следующие переменные:
-DJANGO_SECRET_KEY
Проект может быть запущен без явного указания DJANGO_SECRET_KEY
в файле .env
. В данном случае будет использовано случайное значение SECRET_KEY
(функция get_random_secret_key).
Запуск контейнеров:
docker-compose up
Сервис будет доступен по ссылке http://localhost.
Остановка:
docker-compose down