Plusieurs soucis depuis 1 mois environ

Bonjour,

Je rencontre plusieurs « petits » problèmes et je ne sais pas si ils sont liés et quel en serait l’origine.

J’ai un Raspberry PI 4B avec disque SSD et jeedom 4.1.19.
Tout est vert sur la page santé et plus bas il y a le détail.

  1. Erreur « Trop d’appels… »

J’ai un nouveau scénario depuis quelques semaines qui rencontre de temps en temps l’erreur:

[2024-11-09 11:27:23][SCENARIO] Trop d'appels simultanés du scénario, il ne peut-être exécuté une nouvelle fois. Il est conseillé de réduire les appels à ce scénario.
------------------------------------
[2024-11-09 11:37:05][SCENARIO] La dernière exécution du scénario ne s'est pas lancée. Vérifiez le log scenario_execution pour l'exécution à 2024-11-09 11:27:12.

Il est tout simple:


Il se lance par cron toutes les 5 minutes.

J’ai d’autres scénarios qui ont de temps en temps aussi ce problème mais sans message d’alerte.
Je le vois dans le log depuis 15/10 avec uniquement des lignes « La dernière exécution… ».
Quand c’est un scénario pour allumer une lumière, et que cela ne marche pas, là c’est énervant !
Ce scénario existe depuis longtemps et jamais eu de problème auparavant.

  1. Erreur MariaDB

En cherchant dans /var/log/syslog, je vois des erreurs de ce type :

Oct 8 04:20:02 jeedom mariadbd[777]: 2024-10-08 4:20:02 106312 [Warning] Aborted connection 106312 to db: 'jeedom' user: 'jeedom' host: 'localhost' (Got timeout reading communication packets)
Et là je me rends compte depuis le 8 octobre j’ai 0, 1, 5, 8 ou 15 erreurs de ce type par jour !?!
Et de plus en plus en novembre.
En cherchant sur le net, pas trouvé quelque chose de pertinent. Ah si, à part éventuellement changer différents paramètres selon les différents posts…

  1. Lenteurs ?

J’ai l’impression que pour afficher la configuration d’un élément sous jeedom, parfois c’est lent.
Plus lent qu’auparavant.
Cela arrive peut-être avec l’erreur sur MariaDB. Aucune idée.
Ou c’est peut-être une simple impression.
Je viens d’installer le plugin Monitoring.


Je ne sais pas si cela normal ou pas.

Je n’ai pas d’autres erreurs dans syslog ni autres fichiers système ni dans les logs jeedom.
J’ai fait un test du SSD avec smartctl : pas d’erreur.
Il y a 1 semaine et hier j’ai rebooté. Pas mieux.

Je ne sais où chercher. Si quelqu’un a des suggestions, je suis preneur…

Christophe

Matériel	RPI 4 B								Système à jour	OK
Cron actif	OK									Scénario actif	OK
Démarré	OK 2024-11-03 10:08:03					Date système (dernière heure enregistrée)	OK 2024-11-09 15:30:30 (2024-11-09 14:40:06)
Droits sudo	OK									Version Jeedom	4.4.19
Version OS	debian 11.11						Version PHP	7.4.33
Nombre de processus Apache	12					Version OS	Linux jeedom 5.10.103-v8+ #1529 SMP PREEMPT Tue Mar 8 12:26:46 GMT 2022 aarch64 GNU/Linux [11.11]
Version database	10.5.26-MariaDB-0+deb11u2	Espace disque libre	85 %
Connexion active/max/autorisée	12/27/151		Taille base de données	21.16 MB
Espace disque libre tmp	98 %					Mémoire disponible	66 % (Total 1849 Mo)
Mémoire suffisante	0							Erreur I/O	0
Swap disponible	50 % (Total 1024 Mo)			Swapiness	10 %
Charge	1.38 - 1.15 - 1.17						Configuration réseau interne	OK
Configuration réseau externe	OK	Node		v20.17.0
Python 3	Python 3.9.2						Persistance du cache	OK (2024-11-09 15:30:07)
Apache private tmp	OK							Plugins 	OK

Bonjour,

Je dois être fatigué, je ne comprend pas vos blocs SI :
Vous écrivez : abs(#untruc#) > 10

Cela donne quoi ça, dans le testeur d’expression ?
Je ne reconnais pas la commande abs(...)

Quel est le contenu du log du scénario.

PS : Evitez les « Trop d’appels… » car pour rechercher un équivalent ici, c’est compliqué (il faut toujours être le plus précis possible)/.

La fonction abs() fonctionne parfaitement

Ha oui (absolute) j’ai juste fait une recherche avec les commandes interne de Jeedom (…) c’est pour moi.

Voici le log autour de l’erreur du jour:

------------------------------------
[2024-11-11 11:22:01][SCENARIO] -- Début : Scenario execute automatiquement sur programmation.
[2024-11-11 11:22:01][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Séjour][Thermostat Salle 4][Calibration]#) > 10
[2024-11-11 11:22:01][SCENARIO] Evaluation de la condition : [2 > 10] = Faux
[2024-11-11 11:22:01][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:22:01][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Séjour][Thermostat Salon 5][Calibration]#)  > 10
[2024-11-11 11:22:01][SCENARIO] Evaluation de la condition : [3  > 10] = Faux
[2024-11-11 11:22:01][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:22:02][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Cuisine][Thermostat1][Calibration]#) > 10
[2024-11-11 11:22:02][SCENARIO] Evaluation de la condition : [2 > 10] = Faux
[2024-11-11 11:22:02][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:22:02][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-11-11 11:27:48][SCENARIO] La dernière exécution du scénario ne s'est pas lancée. Vérifiez le log scenario_execution pour l'exécution à 2024-11-11 11:27:28.
------------------------------------
[2024-11-11 11:27:47][SCENARIO] -- Début : Scenario execute automatiquement sur programmation.
[2024-11-11 11:27:48][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Séjour][Thermostat Salle 4][Calibration]#) > 10
[2024-11-11 11:27:50][SCENARIO] Evaluation de la condition : [2 > 10] = Faux
[2024-11-11 11:27:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:27:50][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Séjour][Thermostat Salon 5][Calibration]#)  > 10
[2024-11-11 11:27:50][SCENARIO] Evaluation de la condition : [3  > 10] = Faux
[2024-11-11 11:27:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:27:50][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Cuisine][Thermostat1][Calibration]#) > 10
[2024-11-11 11:27:50][SCENARIO] Evaluation de la condition : [2 > 10] = Faux
[2024-11-11 11:27:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:27:50][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-11-11 11:27:58][SCENARIO] -- Début : Scenario execute automatiquement sur programmation.
[2024-11-11 11:27:58][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Séjour][Thermostat Salle 4][Calibration]#) > 10
[2024-11-11 11:27:59][SCENARIO] Evaluation de la condition : [2 > 10] = Faux
[2024-11-11 11:27:59][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:27:59][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Séjour][Thermostat Salon 5][Calibration]#)  > 10
[2024-11-11 11:27:59][SCENARIO] Evaluation de la condition : [3  > 10] = Faux
[2024-11-11 11:27:59][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:27:59][SCENARIO] - Exécution du sous-élément de type [condition] : if abs(#[Cuisine][Thermostat1][Calibration]#) > 10
[2024-11-11 11:27:59][SCENARIO] Evaluation de la condition : [2 > 10] = Faux
[2024-11-11 11:27:59][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-11-11 11:27:59][SCENARIO] Fin correcte du scénario
------------------------------------

On peut voir le 1er onglet du scénario.

Merci

Et le cas du scénario déclenché par un bouton où on a dû appuyer plusieurs fois pour qu’au bout d’un moment la lumière s’allume et s’éteinds plusieurs fois (entre temps on avait allumé la lumière centrale^^):

------------------------------------
[2024-11-08 16:27:12][SCENARIO] -- Début : Scenario execute automatiquement sur evenement venant de : [Cuisine][Sonoff Bouton 1][Button] (single).
[2024-11-08 16:27:12][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-11-08 16:27:12][SCENARIO] Exécution de la commande [Cuisine][Nous Prise 3][state toggle]
[2024-11-08 16:27:12][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-11-08 17:26:30][SCENARIO] La dernière exécution du scénario ne s'est pas lancée. Vérifiez le log scenario_execution pour l'exécution à 2024-11-08 17:26:04.
------------------------------------
[2024-11-08 17:26:44][SCENARIO] -- Début : Scenario execute automatiquement sur evenement venant de : [Cuisine][Sonoff Bouton 1][Button] (single).
[2024-11-08 17:26:44][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-11-08 17:26:44][SCENARIO] Exécution de la commande [Cuisine][Nous Prise 3][state toggle]
[2024-11-08 17:26:44][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-11-08 17:26:44][SCENARIO] -- Début : Scenario execute automatiquement sur evenement venant de : [Cuisine][Sonoff Bouton 1][Button] (single).
[2024-11-08 17:26:44][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-11-08 17:26:44][SCENARIO] Exécution de la commande [Cuisine][Nous Prise 3][state toggle]
[2024-11-08 17:26:44][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-11-08 17:27:58][SCENARIO] -- Début : Scenario execute automatiquement sur evenement venant de : [Cuisine][Sonoff Bouton 1][Button] (single).
[2024-11-08 17:27:59][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-11-08 17:28:00][SCENARIO] Exécution de la commande [Cuisine][Nous Prise 3][state toggle]
[2024-11-08 17:28:02][SCENARIO] Fin correcte du scénario
------------------------------------

Pour le « Check Thermostat » :

Bonjour,

La page Santé c’était après un reboot ou après une erreur scénario ?

Après reboot. Mais elle était OK avant le reboot aussi.

ça ne fera pas avancer votre problème mais pour un lancement toutes les 5 minutes, la programmation cron est plutôt */5 * * * *

Je voulais voir le nombre de connexion max à la BDD après les erreurs scénario. Cette partie de la page Santé pour info ne passe jamais en rouge.

Merci.
Ce n’est donc pas ça. Par contre la charge me paraît élevée.
Il faudrait faire un top en ssh (il y 1 aussi des commandes équivalentes sous Jeedom dans outils d’administration mais je ne suis pas devant mon pc).

Soit un problème BDD fait ramer le système, soit autre chose fait ramer et ça plante les requêtes BDD.

Cela permet de lancer le scénario à 02, 07, 12, …
après un autre scénario qui tourne toutes les 5 minutes : il est arrivé quelquefois que le thermostat ait été mal mis à jour avec un delta de 30° !

Avec top je ne vois rien qui me choque.
Les process prennent quelques pourcents ou 15% et max 25% mais sur 1 ou 2 rafraichissements.
(mariadb, node, systemctl, php , apache2)
Tout du moins quand j’y jette un oeil… J’étais pas devant mon PC à 11h27.

Bonjour,

J’ai eu des problèmes similaires en deb11.11 avec des pics de charges élevés dont je n’ai pas pu découvrir l’origine (top, nombres process, BDD,…)
Du coup, j’ai arrêter de chercher et j’ai simplement fait une réinstall de l’OS puis restorer la save et tout est rentré dans l’ordre.

Parfois, cela reste le plus simple et le moins chronophage (même si, comme toi j’imagine, j’aime bien comprendre ce qui bug !)
David

Ce matin je rentre dans mon bureau pour télétravail : mince fait froid.
Je vois une erreur zwave et donc le module à mon radiateur n’est pas passé en mode confort.
Première fois que cela arrive, pas grave, juste pas de bol.

Ce soir je regarde mon jeedom.

Je vois 2 erreurs « La dernière exécution du scénario ne s’est pas lancée. » hier soir. Comme d’habitude ces derniers temps.

Je regarde le load : depuis hier soir 21:30 il a bien baissé. Il est en dessous de 1. Tant mieux.

Je regarde les logs et là j’ai 3/4 erreurs par secondes sur le rfplayer !?!
Je redémarre le démon : retour à la normal.

Tout cela n’est pas bon signe.
Oui en effet @Dada38, si pas trouvé la cause, une réinstallation… Mais si pb hardware ou autre, cela risque de revenir. Je vais pas y échapper ce WE.

Merci à tous pour s’est soucié de mon problème.

Christophe

1 « J'aime »

Bonjour,

rien à voir avec ceci?

La taille énorme du répertoire /var/log et plus particulièrement de son sous-répertoire journal est due au daemon systemd dont la configuration n’est pas « finie ». Constaté sur Debian 11 et 12.

Pour vérification, on peut obtenir la taille des 10 plus gros répertoires de /var/log avec cette commande depuis l’administration de Jeedom:

du -sh /var/log/* | sort -h | tail

Manipulations pour limiter la taille de ce répertoire:

  • Se logger en root.
  • Editer le fichier /etc/systemd/journald.conf
  • Ecrire / décommenter les lignes SystemMaxUse=200M et MaxRetentionSec=1w
  • Sauver le fichier
  • Redemarrer le daemon: systemctl restart systemd-journald

J’avais oublié de faire cela quand j’ai installé mon PI4 (migration à partir d’un PI3), et au bout de quelques semaines, j’avais des scénarios qui ne se lançaient pas, des pics de charge, etc…
Ceci a résolu tous mes problèmes.

1 « J'aime »

Le répertoire journal faisait 1.2 GB ==> 33M après l’astuce.
Merci.