This project aims to create an observability system for real-time monitoring of hardware resources using Rust for data collection, InfluxDB for storage and Grafana for data visualization. The process is done automatically using docker containers.
It collects nine data variants per second as showed below.
- CPU
- Usage
- Temperature
- Power
- GPU
- Usage
- Temperature (edge)
- Temperature (junction)
- Temperature (mem)
- Power
- RAM
- Usage
The data can se analysed through Hardware Info dashboard.
- Package:
- git
- docker
- docker-compose
The functionality is made exclusively for personal use, taking into account the author's computer hardware. Some adjustments to the files will be required to make them work on different computers. This project is applied to the machine with the following specifications:
- Specification:
- OS: Arch Linux
- CPU: Ryzen 5 5600G
- GPU: RX 6750XT
- RAM: 2x16GB
To extract data and monitor it in real time, simply run the containers using docker compose. First clone this repository with the following command:
git clone https://github.com/aryelsoares/hardware-benchmark.git
cd hardware-benchmarkChange current directory to the same where it was cloned. After that run the following command to start it:
docker-compose up --buildAfter that data extraction is made automatically. You can check the dashboard with Grafana browsing 127.0.0.1:3000. Both user and password are admin.
Remember to finish access later on with:
docker-compose down -v- Although applicable for a specific computer, its use can be adjusted for other computers by making appropriate changes to the files. Its main use is to monitor hardware usage in real-time.
- This project was made in C++ and then refactored in Rust.
