UTDallas CS Project - Prof. Anand Gupta
This Performance Management project focuses on visualizing 5G performance data by integrating Prometheus for metric collection and Kafka for real-time data streaming. The goal is to provide a powerful solution for monitoring 5G network performance through real-time key performance indicator (KPI) visualization, with a special emphasis on downlink and uplink metrics. The system also ensures secure access via Auth0 for user authentication and dynamic dashboards powered by Prometheus for effective data visualization.
- Chen Cheng
- Changyub Lee
- Hector Macias
- Ethan Sun
- Performance Metrics
- Accounting Management
- Docker for containerization
- Node.js for the frontend
- Kafka for data generation and consumption
- Prometheus for data scraping
- Mage.ai for building and managing machine learning pipelines
- Clone or copy the repository to your local machine.
- Open your command prompt or terminal.
- Navigate to the project directory where the docker-compose.yml file is located.
- Run the following command to build and start the containers:
-
docker-compose up --build
Note: Make sure you have Auth0 access permission
- Clone the project folder from the Code-After-Integration branch to your local machine.
- Ensure Docker Server is Running
Before running the project, ensure that your Docker server is up and running.
You can start your Docker server by clicking the shortcut on your desktop. - Install Necessary Dependencies
Make sure all necessary dependencies and react-scripts are properly installed.
React-scripts is part of the Create React App setup and is essential for your React project.
Dependencies (such as JavaScript files, CSS files, or assets) guarantee your project to function correctly.
Run the following command to install dependencies:
-
npm instal
- Run the Project
Navigate to the project directory and run the following command
For the React Frontend(start the React development server):
-
For the Backend (Docker):
npm start
Navigate to the team9 folder (performance directory) and run the following command: -
Note: These two commands should be run in separate terminal windows or command prompts, but both should be in the same root project directory.
docker-compose up --build
- Authentication Process
Follow Team 7's Auth0 authentication process to authenticate users. - Access Performance Dashboard
- After authentication, go to the interface and click on the Performance Management menu.
- Click the Dashboard button.
- Navigate to Prometheus UI.
- You can query the status of any 5G network by typing the matrix name.
- Gracefully Shut Down.
To shut down the servers gracefully, follow these steps:
- To both command prompts and press Ctrl + C to stop the servers.
- In the terminal where Docker is running, execute the following command to clean up the running services:
-
docker-compose down
Follow the Readme file in prom-kafka branch to run the code.
Managing real-time data flow, ensuring smooth integration between Kafka, Prometheus, and Mage, and handling Auth0 authentication presented significant challenges. To address these, we utilized Dockerized environments and relied on comprehensive troubleshooting through documentation.
Looking ahead, incorporating predictive maintenance and infrastructure monitoring using machine learning is a potential area for further development, which could enhance the system’s capability to proactively detect and resolve network issues.