Environnement :
-
Gladys v4.70.0 (mise à jour automatique via Watchtower)
-
Docker sur Linux (Ubuntu), network_mode: host
-
Intégration MQTT avec plusieurs appareils (Raspberry Pis)
Problème :
Après que Watchtower a automatiquement mis à jour Gladys de v4.66.8 vers v4.70.0, le conteneur a commencé à consommer ~60% du CPU en permanence – pas seulement au démarrage, mais en continu.
gladys 59.72%
Les logs montraient une avalanche d’erreurs au démarrage :
NotFoundError: DeviceFeature mqtt:xxx not found
Cela semble être un problème de synchronisation où des messages MQTT conservés arrivent avant que Gladys n’ait chargé son cache de device features. Cependant, même après que les erreurs de démarrage ont cessé et que les logs étaient propres, le CPU est resté à ~60%.
Solution :
Rétrogradé vers v4.66.8 et épinglé la version pour empêcher Watchtower de mettre à jour automatiquement :
yaml
gladys:
image: gladysassistant/gladys:v4.66.8
labels:
com.centurylinklabs.watchtower.enable: "false"
Après la rétrogradation, le CPU a chuté immédiatement à ~4%.
gladys 3.90%
Question :
Est-ce un problème connu avec la v4.70.0 ? Y a-t-il des plans pour corriger cette régression de CPU ? J’aimerais mettre à jour éventuellement, mais pas si cela plombe à nouveau les performances.
Salut @bamboleate et bienvenue sur le forum !
tu dois avoir quelque chose qui ne va pas car de mon côté je n’ai pas de soucis de CPU qui s’emballe depuis la version 4.70 (ni même avant) :
Et j’ai du zigbee, du node-red, du zwave et des scènes qui tournent sur Gladys.
Quelle est ton architecture hardware pour faire tourner Gladys ? (cpu, ram, hdd/sdd, etc.)
Salut @mutmut, merci d’avoir vérifié !
Mon matériel:
-
Machine: Minisforum UM350 (AMD Ryzen 5 3550H)
-
RAM: 32 GB
-
Storage: several HDDs and SSDs connected
-
OS: Ubuntu 24.04
-
Docker, network_mode: host
Le pic d’utilisation CPU est très reproductible de mon côté. Voici l’avant/après :
v4.70.0:
gladys 59.72%
v4.66.8 (same machine, same config, same moment):
gladys 3.90%
J’utilise l’intégration MQTT avec 3 Raspberry Pi (cartes relais + capteurs). Pas de Zigbee, pas de Z-Wave, j’utilise Node-RED.
Une chose que j’ai remarquée dans les logs au démarrage avec la v4.70.0 :
NotFoundError: DeviceFeature mqtt:xxx not found
Cela se répète pour chaque DeviceFeature MQTT à chaque démarrage — on dirait que les messages conservés (retained messages) arrivent avant que le cache des appareils ne soit prêt. Cette avalanche d’erreurs pourrait-elle provoquer le pic d’utilisation du CPU ? Peut-être que c’est spécifique aux configurations MQTT ?
Ton matériel est clairement bien, de mon côté je suis sur un cluster proxmox et Gladys est sur un LXE (équivalent VM pour faire simple) avec 6Go de RAM et 2 vCPU.
Je ne suis pas un expert pour une analyse poussée malheureusement.
Néanmoins côté intégration MQTT de Gladys, utilises-tu l’intégration interne ?
Ensuite, que dit la page de debug ?
Si tu utilises MQTT Explorer (par exemple) pour te connecter au broker MQTT, as-tu des informations de tes RPi qui apparaissent ?
Autre point, comment as-tu configuré tes appareils dans l’intégration MQTT ?
De ce que je vois du message d’erreur, un (ou plusieurs ?) appareil n’est pas trouvé/reconnu, il faudrait voir avec MQTT Explorer si il est bien visible et si sa configuration est toujours bonne dans l’intégration MQTT de Gladys.