2
2
Fork
You've already forked sidewindow
0
An opinionated system metrics exporter for prometheus
  • Rust 92.4%
  • Nix 7.6%
Robin Appelman 47b6e9a287
All checks were successful
Release / publish (push) Successful in 54s
CI / build (, i686-unknown-linux-musl) (push) Successful in 43s
CI / build (.exe, x86_64-pc-windows-gnu) (push) Successful in 41s
CI / checks (push) Successful in 55s
CI / build (, aarch64-unknown-linux-musl) (push) Successful in 40s
CI / build (, armv7-unknown-linux-musleabihf) (push) Successful in 45s
CI / build (, x86_64-unknown-linux-musl) (push) Successful in 44s
release ci
2026年05月03日 23:28:14 +02:00
.forgejo/workflows release ci 2026年05月03日 23:28:14 +02:00
src multi gpu 2026年04月07日 00:41:07 +02:00
.envrc allow disabling mdns 2022年07月12日 14:57:24 +02:00
.gitignore allow disabling mdns 2022年07月12日 14:57:24 +02:00
Cargo.lock multi gpu 2026年04月07日 00:41:07 +02:00
Cargo.toml multi gpu 2026年04月07日 00:41:07 +02:00
flake.lock updates 2026年04月06日 22:51:28 +02:00
flake.nix updates 2026年04月06日 22:51:28 +02:00
module.nix rename 2026年04月06日 22:30:55 +02:00
overlay.nix rename 2026年04月06日 22:30:55 +02:00
package.nix rename 2026年04月06日 22:30:55 +02:00
README.md multi gpu 2026年04月07日 00:41:07 +02:00
sidewindow.service rename 2026年04月06日 22:30:55 +02:00

Sidewindow

Opinionated system metrics exporter for prometheus

Exported metrics

  • cpu, memory, gpu memory, io, network and disk usage stats
  • zfs pool usage and arc stats
  • cpu and gpu temperature
  • cpu and gpu power usage on modern amd and intel platforms
  • docker per-container cpu, memory and network stats
  • per-process memory usage for processes with a memory usage of over 1%

Usage

  • Download the binary for your architecture from the releases and place it at /usr/local/bin/sidewindow
  • Place the sidewindow.service file in /etc/systemd/system/
  • Create the sidewindow user: sudo useradd -m sidewindow
  • Start enable enable the server: sudo systemctl enable --now sidewindow
  • Metrics will be available at localhost:5665/metrics

Some stats require additional permissions described below.

Power monitoring permissions

In recent kernel versions, precise power monitoring is only accessible to root users to prevent using it as a side-channel attack. In order to get the power monitoring output you'll need to give the sidewindow user access to this data using the following steps.

  • Create a group using

    sudo groupadd powermonitoring
    
  • Create /etc/udev/rules.d/99-powermonitoring.rules with

    SUBSYSTEM=="powercap", ACTION=="add", RUN+="/bin/chgrp -R powermonitoring /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
    SUBSYSTEM=="powercap", ACTION=="change", ENV{TRIGGER}!="none", RUN+="/bin/chgrp -R powermonitoring /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
    
  • Apply the udev rules

    sudo udevadm control --reload-rules && sudo udevadm trigger
    
  • Add your user to the group

    sudo usermod -a -G powermonitoring sidewindow
    
  • Verify that you can read energy usage

    sudo su - sidewindow -c 'cat /sys/class/powercap/intel-rapl:0:0/energy_uj'
    

Docker monitoring permissions

To enable monitoring of docker containers, add the sidewindow user to the docker group

sudo usermod -a -G docker sidewindow

Windows support

Sidewindow has limited windows support out of the box, additional sensors can be enabled by running LibreHardwareMonitor.