Bonjour à tous,
je suis actuellement en train de tester monit. Avec l'aide du manuel et du tutorial de gorgonite, j'ai réussi à configurer celui-ci pour qu'il surveille apache et sshd.
Cependant, une fois que j'ai rajouté mon service, qui ne produit pas de pidfile, j'ai rencontré un probleme. En effet, monit est capable de surveiller mon service, de dire si il est vivant ou non, mais est incapable de prendre les mesures nécessaires pour corriger celui ci (ie pas de start, de stop ou de restart).
Dans ma configuration, je me base sur :
- la config de monit :
et un script de démarrage, qui permet de créer le pidfile nécessaire à monit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 check process java with pidfile /var/run/java.pid group java_gr start program = "/home/pierrick/java/java.sh start" stop program = "/home/pierrick/java/java.sh stop" # if 3 restarts within 5 cycles then timeout # desactivated for test depends on java_file check file java_file with path /home/pierrick/java/java.sh group java_gr if failed permission 755 then unmonitor
Le pid de l'appli et le contenu de pidfile sont identiques.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #!/bin/sh javaStart() { echo $$ > /var/run/java.pid exec 2>&1 java -jar /home/pierrick/java/start.jar } javaStop() { kill -15 `cat /var/run/java.pid` echo "" >/var/run/java.pid } case $1 in start) javaStart ;; stop) javaStop ;; restart) javaStop sleep 3 javaStart ;; *) echo "usage: java.sh {start|stop|restart}" ;; esac
Cependant, monit renvoi comme message :
-java failed to stop
-java failed to start
Et ce, malgré le fait qu'il lance l'exécution du script (j'ai demandé la création d'un fichier test, et il l'a fait).
Merci,
Museum
Partager