Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Script de maintenance Tomcat » : différence entre les versions
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 13 : | Ligne 13 : | ||
Si Tomcat ne fonctionne pas correctement, le script effectue certaines actions comme : | Si Tomcat ne fonctionne pas correctement, le script effectue certaines actions comme : | ||
* supprimer des fichiers bloquants, | * supprimer des fichiers bloquants (donc le write.lock et le restart.lck présents dans le datatdirs), | ||
* supprimer le cache et redémarrer, | * supprimer le cache et redémarrer, | ||
* envoyer un mail s'il y a eu un problème. | * envoyer un mail s'il y a eu un problème. | ||
== Installation du script == | == Installation du script == | ||
| Ligne 54 : | Ligne 53 : | ||
| {{var|-tomcat-path}} || Le chemin vers le dossier Tomcat qu'utilise l'application. | | {{var|-tomcat-path}} || Le chemin vers le dossier Tomcat qu'utilise l'application. | ||
|- | |- | ||
| {{var|-nb-try-http}} || Nombre d'essais avant | | {{var|-nb-try-http}} || Nombre d'essais retournant une erreur avant effectuer les actions du script. | ||
|- | |- | ||
| {{var|-mail}} || L'adresse courriel de destination de l'alerte. | | {{var|-mail}} || L'adresse courriel de destination de l'alerte. | ||
Dernière version du 9 juin 2022 à 13:36
Utilité du script
[modifier | modifier le wikicode]Une des pannes les plus fréquentes des applications Pleade est l'arrêt de Tomcat. Dans ce cas, l'application Pleade n'est plus fonctionnelle et elle renvoie une erreur de type 403.
Ces arrêts sont souvent dus à un manque de ressources en mémoire attribuée à JAVA.
Ce manque de ressource déclenche une OutOfMemory, l'arrêt de Tomcat et de l'application Pleade.
La cause de l'OutOfMemory est liée soit : à une publication dans Pleade qui consomme toutes les ressources ; à la fréquentation importante de l'application ; à la combinaison de tous ces facteurs.
Le script de maintenance de Tomcat permet de suivre automatiquement le fonctionnement de Tomcat, de repérer les pannes et de relancer Tomcat en cas d'arrêt.
Il s’exécute toutes les 30 minutes et vérifie le bon fonctionnement d'une application Tomcat donnée.
Si Tomcat ne fonctionne pas correctement, le script effectue certaines actions comme :
- supprimer des fichiers bloquants (donc le write.lock et le restart.lck présents dans le datatdirs),
- supprimer le cache et redémarrer,
- envoyer un mail s'il y a eu un problème.
Installation du script
[modifier | modifier le wikicode]Version de java nécessaire : ≥7
Les sources java du script se trouvent sur le svn, sous le nom de "maintenance_tomcat".
Après avoir récupéré les sources et les avoir placé dans un répertoire de l'utilisateur qui les exécutera, on défini les instructions du script dans le Crontab de l'utilisateur (comme par exemple ajlsm). On appelle le crontab avec la commande :
$ crontab -e
Il faut adapter les instructions en fonction des projets et en suivant les explications du script.
- Voir "Explication du script" pour plus de détails.[1]
Explication du script
[modifier | modifier le wikicode]Voici un exemple de script :
*/30 * * * * java -cp /home/ajlsm/maintenance_tomcat/lib/commons-cli-1.5.0.jar:/home/ajlsm/maintenance_tomcat/lib/htmlunit-driver-3.61.0.jar:/home/ajlsm/maintenance_tomcat/lib/selenium-api-4.1.4.jar:/home/ajlsm/maintenance_tomcat/lib/commons-io-2.11.0.jar:/home/ajlsm/maintenance_tomcat/lib/javax.mail.jar:/home/ajlsm/maintenance_tomcat/lib/javax.activation-1.2.0.jar /home/ajlsm/maintenance_tomcat/src/Maintenance_tomcat.java -tomcat-path "/opt/tomcat7/" -nb-try-http 3 -mail "mateohymonet@hotmail.fr" -app-url "http://mirador.pleade.com/cdc.html" -datadirs-path "/home/ajlsm/datadirs/" -restart-path "/home/ajlsm/restart-tomcat.sh"
- La première instruction définie la fréquence de rotation du script. Par exemple, toutes les 30 minutes :
*/30 * * * *
- Ensuite, tous les paramètres nécessaires pour exécuter la commande.
- Voir "Paramètres du code java" pour plus d'explication sur les paramètres.[[1]]
Paramètres du code java
[modifier | modifier le wikicode]Afin de s’exécuter, le script à besoin de renseigner au code java certains paramètres, dans le crontab, comme ici :
java -cp /home/ajlsm/maintenance_tomcat/lib/commons-cli-1.5.0.jar:/home/ajlsm/maintenance_tomcat/lib/htmlunit-driver-3.61.0.jar:/home/ajlsm/maintenance_tomcat/lib/selenium-api-4.1.4.jar:/home/ajlsm/maintenance_tomcat/lib/commons-io-2.11.0.jar:/home/ajlsm/maintenance_tomcat/lib/javax.mail.jar:/home/ajlsm/maintenance_tomcat/lib/javax.activation-1.2.0.jar /home/ajlsm/maintenance_tomcat/src/Maintenance_tomcat.java -tomcat-path "/opt/tomcat7/" -nb-try-http 3 -mail "mateohymonet@hotmail.fr" -app-url "http://mirador.pleade.com/cdc.html" -datadirs-path "/home/ajlsm/datadirs/" -restart-path "/home/ajlsm/restart-tomcat.sh"
On a donc :
| Paramètre | Description |
|---|---|
| -cp | Le chemin vers chaque librairie dont le script a besoin séparés à chaque de ":" avec toute suite après, le chemin vers le script à exécuter, |
| -tomcat-path | Le chemin vers le dossier Tomcat qu'utilise l'application. |
| -nb-try-http | Nombre d'essais retournant une erreur avant effectuer les actions du script. |
| L'adresse courriel de destination de l'alerte. | |
| -app-url | L'URL d'une page de l'application Pleade à tester (liée au Tomcat). Si la page répond : OK, si la page ne répond pas, NOK : déclenchement des actions. |
| -datadirs-path | Le PATH du répertoire où sont écrits les données lors des processus d'indexation de Pleade et où sont écrits des verrous (selon l'état de fonctionnement de Pleade). |
| -restart-path | Le PATH du script de redémarrage de Tomcat. |