Actions
Evolution #887
ouvertprocédure #886: Documentation du Système de Surveillance et d'Auto-réparation (Monit/M/Monit)
configuration redemarrage automatique du service wildfly test-carthago
Début:
28 octobre 2025
Echéance:
28 octobre 2025 (En retard de 48 jours)
% réalisé:
100%
Temps estimé:
1:00 h (Total: 2:00 h)
Description
172.20.20.7 → Backend 172.25.1.1).
1. Configuration Monit (Serveur 172.23.2.206)¶
Cette configuration lie la détection de panne sur le serveur Web 172.20.20.7 à l'exécution du script de redémarrage WildFly.
Fichier : /etc/monit/conf.d/remote_checks.conf¶
# --- ENVIRONNEMENT TEST (WildFly: 172.25.1.1) ---
check host web_server_7 with address 172.20.20.7
# Déclencher le script en cas d'échec du check HTTP
if failed host 172.20.20.7 port 80 protocol http request "/" with timeout 10 seconds
then exec "/opt/monit_scripts/restart_wildfly_test.sh"
# Permet de déclencher l'action manuellement depuis M/Monit
start program = "/opt/monit_scripts/restart_wildfly_test.sh"
2. Configuration SUDOERS (Serveur WildFly 172.25.1.1)¶
Cette configuration permet à l'utilisateur monit-runner-test d'exécuter la commande de redémarrage WildFly sans mot de passe et sans terminal requis, ce qui est indispensable pour l'automatisation.
Fichier : /etc/sudoers.d/99-monit-runner-test¶
# Règle pour l'automatisation Monit (TEST)
Defaults:monit-runner-test !requiretty
monit-runner-test ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart wildfly
3. Script de Redémarrage (Serveur 172.23.2.206)¶
Ce script a été ajusté pour pointer explicitement vers la clé privée (-i) et contourner les caches SSH, résolvant les problèmes de Permission denied en mode non-interactif.
Fichier : /opt/monit_scripts/restart_wildfly_test.sh¶
#!/bin/bash
# Script: restart_wildfly_test.sh
# Fonction: Redémarre WildFly TEST via SSH (déclenché par la chute de 172.20.20.7)
# --- PARAMÈTRES ---
SERVER_B="172.25.1.1"
SSH_USER="monit-runner-test"
LOGFILE="/var/log/monit/wildfly_restart_test.log"
SSH_KEY="/opt/monit_scripts/.ssh/id_rsa" # Chemin de la clé sécurisé
# ------------------
# Vérification du répertoire de log
mkdir -p /var/log/monit
echo "--------------------------------------------------------" >> ${LOGFILE}
echo "$(date '+%Y-%m-%d %H:%M:%S'): Monit detected TEST web failure. Initiating WildFly restart on ${SERVER_B}." >> ${LOGFILE}
# COMMANDE SSH AVEC CHEMIN DE CLÉ EXPLICITE (-i)
# Les options StrictHostKeyChecking et UserKnownHostsFile sont essentielles pour l'automatisation
ssh -i ${SSH_KEY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${SSH_USER}@${SERVER_B} "sudo systemctl restart wildfly" >> ${LOGFILE} 2>&1
EXIT_CODE=$?
if [ ${EXIT_CODE} -eq 0 ]; then
echo "$(date '+%Y-%m-%d %H:%M:%S'): SSH command sent successfully. WildFly TEST should be restarting." >> ${LOGFILE}
else
echo "$(date '+%Y-%m-%d %H:%M:%S'): ERROR: SSH connection or command FAILED (Exit code: ${EXIT_CODE}). Check SSH keys/firewall." >> ${LOGFILE}
fi
Actions
#1
Mis à jour par Patrick ENGWANG NGUEMA il y a 2 mois
- % réalisé changé de 0 à 100
- Temps estimé mis à 1:00 h
Actions
#3
Mis à jour par Patrick ENGWANG NGUEMA il y a 2 mois
- Tracker changé de Anomalie à Evolution
Actions