A simple monitoring dashboard based on Tkinter, designed specifically for windows_exporter. It supports running on low-power devices such as Raspberry Pi, enabling resource monitoring and visualization for Windows hosts.
- Real-time fetching of metrics from windows_exporter
- Supports monitoring of CPU, memory, disk, network, GPU, and more
- Historical data tracking and visualization
- Fullscreen mode, suitable for large screen displays
- Flexible configuration via command-line arguments and YAML file
- Runs on ARM devices like Raspberry Pi, perfect for DIY monitoring screens
All configuration options can be set in the config/config.yaml file:
url: "http://<windows_exporter_host>:9182/metrics" # Prometheus windows_exporter address
fullscreen: false # Fullscreen mode
title: "Monitoring Dashboard" # Window title
refresh_interval: 1.0 # Refresh interval (seconds)
fetch_timeout: 0.5 # Fetch timeout (seconds)
history_length: 600 # History length (seconds)You can also override some options via command-line arguments, for example:
python main.py --url http://your_exporter:9182/metrics --fullscreen-
Clone this repository to your local machine.
-
Install dependencies (if you have a
requirements.txt, runpip install -r requirements.txt). -
Configure
config/config.yaml, set theurlto your windows_exporter address. -
Run the main program:
python main.py
On low-power devices like Raspberry Pi, it is recommended to use PyPy3 as the Python interpreter for better performance.
-
Install PyPy3 (refer to the PyPy official documentation).
-
Install dependencies with PyPy3:
pypy3 -m ensurepip pypy3 -m pip install -r requirements.txt
-
Start the program with PyPy3:
pypy3 main.py
- Python 3.12+ or PyPy3
- tkinter
- requests
- pyyaml
- prometheus_client
main.py: Entry point, loads configuration and starts the main windowapp/: Core modules, including data collection, analysis, and visualizationconfig/: Configuration filesimages/: Preview images
If you have any questions or suggestions, feel free to open an issue or contact the author.
