A crowsnest setup for monitoring and logging hardware usage on Ubuntu. Two services are used to monitor the HW state.
- Netdata a monitoring dashboard on local network
- Python script pushing HW state to local MQTT broker
Netdata is a lightweight, open-source, and community-driven open-source monitoring and logging solution. It is designed to be easy to install, configure,
- Netdata dashboard: http://localhost:19999
- Configuration file: http://localhost:19999/netdata.conf
SSH Local Forwarding can be used to access the dashboard remotely.
Python script reading hardware state and pushes it to selected MQTT broker.
Recommended setup is pushing the HW state to local MQTT broker and then using Crowsnest bridge to make the data remotely available.
Pushing following HW state to local MQTT broker:
- Boot time
- CPU temperature and usage
- GPU temperature and usage
- RAM/Memory
- Disk space TODO:
- Power
Copy file docker-compose.hw-logger.yml to an folder and change
build: .
to
image:image: ghcr.io/mo-rise/crowsnest-processor-hw-logger:latest
Variables:
# Run command
docker-compose -f docker-compose.hw-logger.yml up -d
Requires:
- python >= 3.8
- docker and docker-compose
Install the python requirements in a virtual environment:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt -r requirements_dev.txt