/cpu_usage

Primary LanguagePythonMIT LicenseMIT

CPU Usage

This project is to build a web server which provides CPU usage of the hosting server and a web client which displays server CPU usage information.

Author

Na Lou

Tech

React, Django REST framework

License

MIT

Demo

https://drive.google.com/file/d/1dhxJI0eXxQNsRG8YAoy3lyBMvQ4139QV/view?usp=sharing

Run the project locally

git clone project and go to the project root dir

  1. Run web server requirement: python3, Linux

    • create a virtual env and activate it
    • pip install -r requirements.txt
    • run web server: python manage.py makemigrations
      python manage.py migrate
      python manage.py createsuperuser
      python manage.py runserver
      server would run by default on http://127.0.0.1:8000/
  2. REST API Usage:

    ASSUMPTION:

    Currently the requirement is to show the hosting server cpu usage, in the design, the hosting server_id is 1 by default.

    REQUEST:

  3. Run web client:

    The chart would show last 10 mins cpu usage (system usage + user usage)

Run test

python manage.py test

Screenshots

RESTAPI

get data with server_id

3

get data with server_id and timestamp range

2

client

1

Extend in the future

Migrage to Mongodb. Mongbo is a better candidate in this scenario considering data structure and scalability. Django has libraby "Django" which is consistent with Django ORM. For this project, because by default django use SQLite and it is not necessary to preinstall and setup, it would be easier to run this project locally here.