Fleet monitoring: sysstat 28d + perfsnap/PSI/iotop timers + on-demand toolbox container (#826)
ci / audit (push) Successful in 26s

- monitoring/node-install.sh: idempotent per-node installer (sar HISTORY=28,
  three oneshot timers, per-node conf with qemu.slice/lxc cgroup globs)
- monitoring/collectors + systemd units: iotop-snap 15min, perfsnap 60s,
  psi-textfile 15s (now sources /etc/knelperf/perfsnap.conf; multi-glob)
- monitoring/toolbox: pct LXC (vmid 950, privileged, apparmor unconfined,
  stopped at rest) + knelperf-toolbox wrapper + Dockerfile variant
- monitoring/deploy-fleet.sh: workstation-side rollout driver
- piloted on pfv-tsys1: per-VM PSI gauges verified live

Redmine: https://projects.knownelement.com/issues/826
This commit is contained in:
2026-09-06 18:50:07 -05:00
parent f1729868fa
commit 3680f1dba1
16 changed files with 407 additions and 1 deletions
@@ -0,0 +1,7 @@
[Unit]
Description=KNELPerf iotop snapshot (3x2s active-I/O samples)
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/knelperf-iotop-snap.sh
IOSchedulingClass=idle
@@ -0,0 +1,10 @@
[Unit]
Description=Run knelperf-iotop-snap every 15 minutes
[Timer]
OnCalendar=*:0/15
Persistent=true
RandomizedDelaySec=30
[Install]
WantedBy=timers.target
@@ -0,0 +1,6 @@
[Unit]
Description=KNELPerf perfsnap collector tick (/proc+cgroupfs snapshot)
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/knelperf-perfsnap.sh
@@ -0,0 +1,11 @@
[Unit]
Description=Run knelperf-perfsnap every 60s
[Timer]
OnBootSec=45
OnUnitActiveSec=60
AccuracySec=5s
Persistent=true
[Install]
WantedBy=timers.target
@@ -0,0 +1,6 @@
[Unit]
Description=KNELPerf PSI textfile collector tick (pressure avg60 gauges)
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/knelperf-psi-textfile.sh
@@ -0,0 +1,11 @@
[Unit]
Description=Run knelperf-psi-textfile every 15s
[Timer]
OnBootSec=20
OnUnitActiveSec=15
AccuracySec=2s
Persistent=true
[Install]
WantedBy=timers.target