Alerte en cas de casse BDD scServer

Bonjour,

Je cherche une solution élégante pour être alerté en cas de casse de la BDD d’un scServer. J’ai eu l’occasion à 2 ou 3 reprises de devoir remettre en place un backup suite à ce type de souci mais 'est à chaque fois à taton pour savoir quelle version du backup remettre en place.Sachant que j’ai mis en place une sauvegarde incrémentale toutes les heures suivie de rotation sur 7 jours, 4 semaines et 12 mois, j’ai moyen de revenir finement juste après un crash.
J’ai vu dans scBatch qu’il y avait un script checkFsSync qui semble donner de l’info sur l’état de santé de la base. Comment faire en sorte d’envoyer un mail en cas de détection de pb ?
Si vous avez une idée je suis preneur.

merci d’avance
Franck

Bonjour Franck,
Pour suivre l’état des différents serveurs, et en particulier des environnements scenari installés, tu peux utiliser des outils de monitoring (nagios, …) qui offrent leurs propres système d’alerte (mail, …).
Plus d’info sur les sondes de contrôle à configurer pour suivre un environnement SCNEARIchain-server ici : https://doc.scenari.software/SCENARIchain-server@5.0/linux/fr/#monitoring:qN4DafmAb7gIxVGqND2ybe
Antoine
Kelis

Ceci dit, je m’interroge sur « casse de la BDD ». Sous Linux, ça fait des années qu’on n’a plus rencontré ce type de problème.
Le pb qui peut arriver, suite à un arrêt brutal de la machine sans clôture propre du serveur d’application (ex : panne de courant, …), c’est un message du type « Check sum on db files failed for db » au redémarrage.
Il s’agit généralement d’un faux positif (cf Connexion atelier impossible : systéme authentification indisponible)

Note : dans SCENARIchain-server 5.0+, ces faux positifs n’apparaîtront plus

Bonjour @franck_rouze ,

j’avais mis en place pour mes instances, un script à adapter dont voilà quelques bribes :

#!/bin/sh
SCS_URL=${1:-"https://sub.domain.tld/scenariserver"}
SCS_USER="admin"
SCS_PW="password"
SCS_MAIL="admin@domain.tld"
SCS_MSG="[SCS] Server Alert"
# Pinger le serveur
pingSV(){
local HTTP_RESPONSE=$(curl ${SCS_URL}/web/u/ping -u ${SCS_USER}:${SCS_PW} -I -sL -w "%{http_code}" -o /dev/null)
echo "ping : $HTTP_RESPONSE" | mail -s "${SCS_MSG}" "${SCS_MAIL}"
}
# Verifier l'état de la DB
checkDB(){
local HTTP_RESPONSE=$(curl ${SCS_URL}/s/u/adminOdb?cdaction=CheckAuto -u ${SCS_USER}:${SCS_PW} -I -sL -w "%{http_code}" -o /dev/null)
echo "DB state : $HTTP_RESPONSE"  | mail -s "${SCS_MSG}" "${SCS_MAIL}"
}

ça ne remplace pas des sondes mais ça peut dépanner quand on a plein de chose sur le feu et qu’on vous dit que le serveur scenari ne répond pas :wink:

A+

Xavier

PS: j’ai retiré aux fonctions ci-dessus les tests concernant HTTP_RESPONSE avant l’envoi du mail.

Bonjour Antoine, Xavier,

Je vous remercie pour vos réponses et pistes. N’ayant pas la main sur le nagios hébergé à la DSI chez nous, je ne suis pas certain de pouvoir ajouter ce qu’il faut pour faire les remontées qui vont bien. Je pense que ça sera plus simple de mette en place le script que tu proposes Xavier.
A suivre…