Этот проект является FastAPI приложением, которое предоставляет конечные точки для получения информации о мониторинге системы, такой как использование ЦП и использование ОЗУ. Приложение использует Dash для предоставления панели мониторинга системы и FastAPI для предоставления конечных точек API.
- Конечная точка использования ЦП: Возвращает текущее использование ЦП для каждого ядра ЦП.
- Конечная точка использования ОЗУ: Возвращает текущее использование ОЗУ.
- Аутентификация: Защищает конечные точки API с помощью базовой аутентификации HTTP.
- FastAPI: Современный, быстрый (высокопроизводительный) веб-фреймворк для создания API с помощью Python 3.6+ на основе стандартных подсказок типов Python.
- Dash: Продуктивный фреймворк Python на основе Flask, React и Plotly.js для создания аналитических веб-приложений.
- Passlib: Библиотека хеширования паролей для Python.
Конечные точки API защищены с помощью базовой аутентификации HTTP. Функция auth_user
используется для проверки учетных данных пользователя. Функция verify_pwd
используется для сравнения захешированного пароля с исходным текстовым паролем, предоставленным пользователем. Функция get_pwd_hash
используется для хеширования исходного текстового пароля.
/cpu/
: Возвращает текущее использование ЦП для каждого ядра ЦП. Если предоставлен параметр запросаcpu_id
, возвращается только использование ЦП для этого ядра./ram/
: Возвращает текущее использование ОЗУ.
Чтобы запустить приложение, просто выполните основной скрипт Python. Приложение будет доступно по адресу http://localhost:8000
в вашем веб-браузере. Панель мониторинга системы будет доступна по адресу http://localhost:8000/dash/
.
Чтобы получить доступ к конечным точкам API, вам потребуется предоставить имя пользователя и пароль. Имя пользователя по умолчанию - admin
, пароль по умолчанию - password
. Вы можете изменить пароль, обновив переменную HASHED_PASSWORD
в коде.
Например, чтобы получить текущее использование ЦП для всех ядер ЦП, вы можете отправить запрос GET по адресу http://localhost:8000/cpu/
с заголовком Authorization
, установленным в Basic YWRtaW46cGFzc3dvcmQ=
(что является admin:password
, закодированным в base64). Ответ будет представлять собой объект JSON, содержащий использование ЦП для каждого ядра.
Вот пример с использованием curl
:
curl -X GET -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" http://localhost:8000/cpu/
Ответ будет выглядеть примерно так:
{
"cpu": [
12.34,
15.67,
9.01,
18.23
]
}
Это означает, что текущее использование ЦП для четырех ядер составляет 12,34%, 15,67%, 9,01% и 18,23% соответственно.