-
released this
2026-05-23 14:10:53 +02:00 | 1 commits to main since this releaseCorrectifs
smart_statusdevient optionnel dans le parsing JSON : si le champ est absent (NVMe avec droits insuffisants pourNVME_IOCTL_ADMIN_CMD), les autres métriques disponibles sont tout de même collectées- Service systemd : suppression de
NoNewPrivileges=yes, ajoutAmbientCapabilities=CAP_SYS_ADMINpour que smartctl hérite la capability - Nettoyage des logs de debug (suppression du dump JSON brut)
Downloads
-
v0.1.16 — debug JSON brut Stable
released this
2026-05-23 13:51:30 +02:00 | 2 commits to main since this releaseLog JSON complet de smartctl en cas dechec de parsing.
Downloads
-
released this
2026-05-23 13:39:13 +02:00 | 3 commits to main since this releaseCause racine finale : smartctl via /dev/nvme0n1 (namespace) retourne exit 4 et omet smart_status car les commandes admin NVMe nécessitent le contrôleur.
- Agent : scan /sys/class/nvme/ pour utiliser /dev/nvme0 (contrôleur)
- deploy/99-nanometrics-smart.rules : règle udev SUBSYSTEM==nvme GROUP=disk MODE=0660
- install.sh : déploie la règle udev automatiquement
Downloads
-
released this
2026-05-23 13:20:04 +02:00 | 4 commits to main since this releaseCorrections issues de lanalyse du code source smartmontools :
- SmartTemp.current optionnel (#[serde(default)]) — champ absent quand le NVMe ne reporte pas la température via ce champ
- SmartStatus.passed optionnel (#[serde(default)]) — défense contre parse partiel
- Filtre NVMe : n[4..].contains(n) distingue correctement nvme0n1 (namespace) de nvme0 (contrôleur)
- Logging de diagnostic conservé
Downloads
-
released this
2026-05-23 13:11:10 +02:00 | 5 commits to main since this releaseFix : SmartTemp.current rendu optionnel (#[serde(default)]). Certains NVMe (ASUS TUF A16) ont un objet temperature sans champ current, ce qui faisait échouer la désérialisation entière du JSON smartctl.
Downloads
-
v0.1.12 — debug SMART Stable
released this
2026-05-23 12:56:51 +02:00 | 6 commits to main since this releaseBuild de diagnostic : logs détaillés de la collecte SMART pour identifier smart=nil.
Downloads
-
v0.1.11 Stable
released this
2026-05-23 07:58:20 +02:00 | 8 commits to main since this releasev0.1.11 — Fix SMART NVMe (permissions)
Cause racine
/dev/nvme0(contrôleur, char device) :crw------- root root→ root uniquement
/dev/nvme0n1(namespace, block device) :brw-rw---- root disk→ groupe disk OKL'agent tourne avec
DynamicUser=yes + SupplementaryGroups=disk→ accès au block device mais pas au char device contrôleur. Les v0.1.8 à v0.1.10 utilisaient toutes/dev/nvme0(inaccessible).Mise à jour
curl -sSL http://10.0.0.50/install.sh | sudo bashDownloads
-
v0.1.10 Stable
released this
2026-05-23 07:34:45 +02:00 | 10 commits to main since this releasev0.1.10 — Fix SMART NVMe (contrôleur)
Correctif
split('n').next()surnvme0n1retournait""(vide) →smartctl -a -j /dev/échouait silencieusement- Remplacé par
rfind('n')qui trouve le dernier séparateur namespace :nvme0n1→nvme0✓
Mise à jour
curl -sSL http://10.0.0.50/install.sh | sudo bashDownloads
-
v0.1.9 Stable
released this
2026-05-23 07:28:14 +02:00 | 11 commits to main since this releasev0.1.9 — Fix détection IP + interfaces réseau
Correctifs
- IP locale : utilise
getifaddrs+IFF_POINTOPOINTpour construire la liste des vraies IPs physiques avant le UDP-connect-trick → les interfaces VPN WireGuard (nommées librement, ex:asus) ne sont plus retournées même quand elles portent la route par défaut is_physical(): remplace le filtrage par préfixe de nom par/sys/class/net/<iface>/type == 1(ARPHRD_ETHER) → détecte Ethernet + WiFi, exclut WireGuard (65534), tunnels et autres
Mise à jour
curl -sSL http://10.0.0.50/install.sh | sudo bashDownloads
- IP locale : utilise
-
v0.1.8 Stable
released this
2026-05-23 07:07:45 +02:00 | 13 commits to main since this releasev0.1.8 — Fix SMART NVMe
Correctifs
- NVMe contrôleur :
/sys/blockexposenvme0n1(namespace) maissmartctla besoin du contrôleurnvme0— déduction automatique + déduplication - Flag
-a:smartctl -j→smartctl -a -jpour inclurenvme_smart_health_information_log(sans-a, le log de santé NVMe absent de la sortie JSON)
Mise à jour recommandée
Sur chaque machine :
curl -sSL http://10.0.0.50/install.sh | sudo bashDownloads
- NVMe contrôleur :