Page 3 sur 3

Re: Script de contrôle de présence/redémarrage Domoticz

Publié : 27 déc. 2019, 18:56
par Chrominator
Sans autres éléments, notamment ton fichier de configuration de monit, difficile de te répondre.
As-tu regardé dans le log système s'il y avait plus d'infos ?
Le processus monit tourne-t-il ?
Sans doute car arrêté ça donne ceci :

Code : Tout sélectionner

pi@phoenix-dev:~$ sudo monit status
Monit: the monit daemon is not running
Quand aux erreurs avec "apt-get update", c'est un autre problème idépendant qu'il faudra probablement résoudre un jour....

Re: Script de contrôle de présence/redémarrage Domoticz

Publié : 29 déc. 2019, 23:55
par joebuz
Bonjour,

Voici les lignes dé-commentées du fichier de configuration de monit

Code : Tout sélectionner

set daemon 300
with start delay 300

set logfile /var/log/monit.log

set statefile /var/lib/monit/state

set mailserver smtp.gmail.com port 587
username "#####" password "#####"
using tlsv1
with timeout 30 seconds
set alert monemail@gmail.com

set eventqueue 
basedir /var/lib/monit/events
slots 100

set httpd port 2812 and
allow 0.0.0.0/0.0.0.0
allow admin:monit
allow @monit
allow @users readonly

include /etc/monit/conf.d/*
voici les logs quand j'avais seulement paramétré le mailserver avec une adresse orange et pas encore le serveur web

Code : Tout sélectionner

Sendmail: Error receiving data from data from the mailserver 'smtp.orange.fr' -- connection reset by peer
Sendmail: Error sending data to the server 'smtp.orange.fr' -- broken pipe
Alert handler failed, retry scheduled for next cycle
puis j'ai essayé avec une adresse gmail

Code : Tout sélectionner

Sendmail: 535 5.7.8 https://support.google.com/mail/?p=BadCredentials
Alert handler failed, retry scheduled for next cycle
puis j'ai essayé une autre adresse gmail (car la boîte de la première était pleine)

Code : Tout sélectionner

Sendmail: 534 5.7.9 https://support.google.com/mail/?p=WebLoginRequired
Alert handler failed, retry scheduled for next cycle
Ensuite j'ai mis en place le serveur web pour voir mais cela ne fonctionne pas et il n'y a rien qui apparaît dans les logs
Voilà

[EDIT]
J'ai commenté les lignes concernant le mailserver et j'ai controlé le statut de monit. OK
Désormais j'ai accès au serveur web (bon par contre je ne pourrais pas recevoir les notifications mail ... je verrais plus tard)

[EDIT2]
J'ai donc rajouté la surveillance du service domoticz et le redémarrage auto

Code : Tout sélectionner

check process domoticz with pidfile /var/run/domoticz.pid
  start program = "/etc/init.d/domoticz.sh start"
  stop  program = "/etc/init.d/domoticz.sh stop"
  if failed
     url http://mon_ip:8080/json.htm?type=command&param=getversion
         and content = '"status" : "OK"'
     for 2 cycles
     then restart
  if 5 restarts within 5 cycles then exec "/sbin/reboot"
sauf que quand je vérifie la syntax avec "sudo monit -t"
j'ai ce défaut (que je n'avais pas avant d'ajouter la surveillance du service)

Code : Tout sélectionner

'check system' not defined in control file, failed to add automatic configuration (service name Domoticz is used already) -- please add 'check system <name>' manually
Ceci est dû au fait que mon rpi s'apellait Domoticz il y avait donc confusion dans monit, j'ai renommé le nom de mon rpi et après plusieurs reboot tout est OK. (sauf le mailserver)

Re: [Bash] Script de contrôle de présence/redémarrage Domoticz

Publié : 05 août 2021, 18:54
par maccaire
Bonjour
Je relance le sujet de monit, j'ai configurer le fichier avec:
check process domoticz with pidfile /var/run/domoticz.pid
start program = "/usr/bin/sudo /bin/systemctl start domoticz.service"
stop program = "/usr/bin/sudo /bin/systemctl stop domoticz.service"
use below start/stop command for older systems not using systemctl
# start program = "/etc/init.d/domoticz.sh start"
# stop program = "/etc/init.d/domoticz.sh stop"
if failed
La réponse est:
Status Execution failed | Does not exist
Je ne sais pas comment utiliser ou creer le fichier /var/run/domoticz.pid, ca il n'existe pas.
Quelqu'un a peu etre la réponse.
Merci

Re: [Bash] Script de contrôle de présence/redémarrage Domoticz

Publié : 06 août 2021, 09:55
par Chrominator
/var/run/domoticz.pid est généré à chaque démarrage de Domoticz par le script /etc/init.d/domoticz.sh

Les lignes start et stop program sont incorrectes ;
Comme monit fonctionne sous l'utilisateur root, il ne sert à rien d'employer la commande sudo.
De plus, monit ne devrait pas lancer un service mais simplement démarrer domoticz à l'aide du script dédié.

Je suggère de remplacer ces lignes par les suivantes :

Code : Tout sélectionner

start  program = "/etc/init.d/domoticz.sh start"
stop  program = "/etc/init.d/domoticz.sh stop"
Le "if failed" à la fin du post ne peut pas exister tout seul comme ça, j'imagine qu'il y a une suite qui a échappé au copié/coller.