Watches over Helper Heidi to make sure she's okay <3
Support Watcher is a Prometheus exporter that collects statistics about the Summer of Making help channel.
Data provided by Nephthys, the Summer of Making support bot! (She's also known as Helper Heidi.)
📊 View the demo on grafana.slevel.xyz
You'll need to have Rust installed.
- Clone the repository and
cdinto it - Run
cargo runin your terminal - Verify that it works by visiting http://localhost:9000/metrics and viewing the metrics
You can ingest the metrics into Prometheus or a compatible time-series database. An example prometheus.yaml configuration file is provided, which you can use directly or integrate into an existing config. To use the config, install Prometheus and run
prometheus --config.file=development/prometheus.yamlSimply use the docker-compose.yaml file provided in deployment/docker-compose.yaml and deploy it to any server! Add a Prometheus container if desired.
- Download the docker compose file:
wget https://raw.githubusercontent.com/MMK21Hub/support-watcher/refs/heads/master/deployment/docker-compose.yaml - Start the service:
docker compose up -d - Support Watcher's metrics will be exposed to http://localhost:9000/metrics
support-watcher– Start the exporter on the default port (9000)support-watcher --port <port>– Specify a custom portsupport-watcher --verbose– Enable logging all received datasupport-watcher --scrape-interval <seconds>– Specify how often the API is queried- Please be nice to Helper Heidi by not setting this to something silly like 1 second, because that might overload the API!
- Build and run the container:
docker compose -f development/compose.yaml up --build
- Set up a Docker BuildKit builder:
docker buildx create --use - Install required emulators:
docker run --privileged --rm tonistiigi/binfmt --install arm64(if your local machine is x86_64)- If you're on an ARM64 machine, you should install the
amd64emulator instead - If you're on another architecture, install both (
arm64,amd64)
- If you're on an ARM64 machine, you should install the
- Build it!
docker buildx build --platform linux/amd64,linux/arm64 --load .
- If you're publishing a new version, bump version in
Cargo.tomlandgit tagthe new version - Check the tags already available on Docker Hub
- Use the
upload-new-docker-image.shscript! E.g../upload-new-docker-image.sh 0.1.9- This will automatically perform the preparatory steps for multi-platform builds (as above), build the image, tag it, and upload it to Docker Hub
