nas-runbooks/common/runbook-audit-charge-nas-ds...

35 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Runbook — Audit de charge NAS DS920+ : méthode et état de référence (2026-07-12)
## Méthode de mesure (réutilisable)
```bash
ssh nas '/usr/local/bin/docker stats --no-stream --format "{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}"'
ssh nas 'free -m; cat /proc/loadavg; nproc; uptime'
ssh nas 'ps aux --sort=-%cpu | head -12; ps aux --sort=-rss | head -8'
```
### Pièges de lecture (Synology)
- Le `uptime` DSM décompose le loadavg en `[IO: x CPU: y]`**lire la part CPU**, le total inclut l'attente disque.
- Un scan de fichiers depuis le Mac (find/ls sur /Volumes/docker en SMB) fait monter `smbd` à 80 %+ CPU → fausse le load 1 min. Mesurer avant/sans scan.
- `docker stats` = mémoire cgroup (sans cache) ≠ RSS hôte via `ps`. Ex. qbittorrent : 434 Mo cgroup vs 1,83 Go RSS.
- Swap utilisé ≠ pression actuelle : croiser avec `Dirty` (/proc/meminfo) et l'activité kswapd.
## État de référence 2026-07-12 (41 containers après purge flaresolverr)
- RAM : 6,4 / 19,85 Go utilisés, ~12,9 Go disponibles ; somme RSS containers ≈ 4,8 Go ; swap 3,2 Go (résiduel).
- CPU (J4125, 4 cœurs) : ~27 % en moyenne 15 min.
- **Goulot réel = IO disque** : load IO soutenu 2,02,4 (btrfs + Postgres n8n/Baserow + SQLite multiples). La machine plafonnera par l'IO avant la RAM/CPU.
- Top RAM : Baserow stack 1,3 Go ; Hermes ×3 1,3 Go ; qbittorrent 1,83 Go RSS ; n8n 413 Mo.
- Top CPU steady : crowdsec ~11 %, ActiveInsight 3,5 % (**obligatoire, ne pas désactiver — protection DSM**), dockerd 3 %.
## Décisions actées
- media-stack (prowlarr/radarr/sonarr) supprimé volontairement le 04/07 ; data conservée `/volume1/docker/media-stack/`.
- wg-easy retiré : VPN NAS = **Tailscale**. WireGuard ne subsiste que sur le VPS (KeepSolid). `wg-admin-client` = client tunnel.
- Verdict capacité : Family Help prod + nyora-veille passent sans dégradation (<300 Mo en pointe, LLM via Bifrost). Ne pas ajouter de service IO-intensif sans mesure préalable.
## Actions — CLÔTURÉES le 12/07/2026
1. flaresolverr purgé (orphelin, plus de client depuis la suppression de prowlarr). 41 containers actifs.
2. hermes-agent-perso recréé avec mem_limit/memswap_limit 768 Mo (compose racine hermes-platform) vérifié : healthy, data 1026:100, UI 3030 = 200.
## Ce qui NE marche PAS
- Backup de `hermes-perso/data` (4 Go dont 1,2 Go .browsers) via le montage SMB du Mac : cp/rsync time-out. Faire les copies côté NAS.
- `ports-registry.md` dérive vite : resync v4 fait le 12/07 (source de vérité = docker ps réel).