- 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
98 lines
2.8 KiB
Bash
Executable File
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
|
|
|