mirror of
https://codeberg.org/icewind/palantir.git
synced 2026-06-03 10:14:09 +02:00
78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
# 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](https://codeberg.org/icewind/sidewindow/releases/) and place it at
|
|
`/usr/local/bin/sidewindow`
|
|
- Place the [sidewindow.service](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
|
|
|
|
```bash
|
|
sudo groupadd powermonitoring
|
|
```
|
|
|
|
- Create `/etc/udev/rules.d/99-powermonitoring.rules` with
|
|
|
|
```udev
|
|
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
|
|
|
|
```bash
|
|
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](https://github.com/LibreHardwareMonitor/LibreHardwareMonitor).
|