4NK_node/monitor_sync.sh
Nicolas Cantu 72682290c1 feat: Ajout du support des relais externes et intégration dev3.4nkweb.com
- Ajout du script add_external_node.sh pour gérer les nœuds externes
- Configuration external_nodes.conf avec dev3-relay
- Scripts de test pour dev3.4nkweb.com (connectivité WSS)
- Documentation complète (CONFIGURATION_DEV3.md, RESUME_AJOUT_DEV3.md)
- Scripts de test de synchronisation et monitoring
- Configuration multi-relais avec 3 instances
- Mise à jour de la documentation technique et fonctionnelle
- Scripts de démarrage et monitoring pour les 3 relais
2025-08-22 17:00:31 +02:00

98 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "🔍 Surveillance de la synchronisation entre 3 relais"
echo "=================================================="
echo ""
# Fonction pour vérifier si Bitcoin Core a terminé l'IBD
check_bitcoin_ready() {
local bitcoin_status=$(docker exec bitcoin-signet bitcoin-cli -signet getblockchaininfo 2>/dev/null | grep -o '"initialblockdownload":false' || echo "still_downloading")
if [[ "$bitcoin_status" == "still_downloading" ]]; then
return 1
else
return 0
fi
}
# Fonction pour afficher les logs de synchronisation
show_sync_logs() {
echo "📡 Logs de synchronisation des relais :"
echo "----------------------------------------"
for i in {1..3}; do
echo "🔸 Relais $i :"
docker logs sdk_relay_$i 2>&1 | grep -E "(🧪|📊|🏥|📈|🔄|🎉|❌|Relay|Sync|Mesh|Topology|🔍|✅|discover|relay)" | tail -3 || echo " Aucun message de synchronisation trouvé"
echo ""
done
}
# Fonction pour vérifier la connectivité entre relais
check_relay_connectivity() {
echo "🌐 Vérification de la connectivité entre relais :"
echo "------------------------------------------------"
for i in {1..3}; do
echo "🔸 Relais $i (port $((8090 + i - 1))) :"
if curl -s http://localhost:$((8090 + i - 1)) >/dev/null 2>&1; then
echo " ✅ Port WebSocket accessible"
else
echo " ❌ Port WebSocket non accessible"
fi
done
echo ""
}
# Fonction pour afficher les métriques de synchronisation
show_sync_metrics() {
echo "📊 Métriques de synchronisation :"
echo "--------------------------------"
for i in {1..3}; do
echo "🔸 Relais $i :"
docker logs sdk_relay_$i 2>&1 | grep -E "(SyncMetrics|known_relays|mesh_connections|sync_cache)" | tail -2 || echo " Aucune métrique trouvée"
echo ""
done
}
# Attendre que Bitcoin Core soit prêt
echo "⏳ Attente que Bitcoin Core termine le téléchargement initial..."
while ! check_bitcoin_ready; do
echo " Bitcoin Core télécharge encore les blocs..."
sleep 30
done
echo "✅ Bitcoin Core est prêt !"
echo ""
# Attendre un peu pour que les relais se stabilisent
echo "⏳ Attente de stabilisation des relais..."
sleep 10
# Boucle de surveillance
echo "🚀 Démarrage de la surveillance de synchronisation..."
echo "Appuyez sur Ctrl+C pour arrêter"
echo ""
while true; do
clear
echo "🔍 Surveillance de la synchronisation entre 3 relais"
echo "=================================================="
echo "$(date)"
echo ""
# Vérifier la connectivité
check_relay_connectivity
# Afficher les logs de synchronisation
show_sync_logs
# Afficher les métriques
show_sync_metrics
echo "🔄 Actualisation dans 30 secondes..."
sleep 30
done