LeCoffre Deployment 43a05a2742 clean
2025-09-25 12:19:35 +00:00

104 lines
3.2 KiB
Bash
Executable File

#!/bin/bash
# Script pour configurer la centralisation des logs
# Usage: ./scripts/setup-logs.sh
set -e
echo "🔧 Configuration de la centralisation des logs..."
# Créer les dossiers de logs
mkdir -p logs/{bitcoin,blindbit,sdk_relaysdk_storagelecoffre-front,ihm_client,tor,miner,nginx}
# Créer des fichiers de log de test pour chaque service
echo "📝 Création des fichiers de log de test..."
for service in bitcoin blindbit sdk_relaysdk_storage lecoffre-front ihm_client tor miner nginx; do
log_file="logs/${service}/${service}.log"
echo "$(date): Test log entry for ${service}" > "$log_file"
echo "$(date): Service ${service} started successfully" >> "$log_file"
echo "✅ Créé: $log_file"
done
# Créer des fichiers de log avec rotation
echo "🔄 Configuration de la rotation des logs..."
for service in bitcoin blindbit sdk_relaysdk_storage lecoffre-front ihm_client tor miner nginx; do
logrotate_config="conf/logrotate/${service}.conf"
mkdir -p conf/logrotate
cat > "$logrotate_config" << EOF
logs/${service}/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart ${service} 2>/dev/null || true
endscript
}
EOF
echo "✅ Créé: $logrotate_config"
done
# Créer un script de collecte de logs
cat > scripts/collect-logs.sh << 'EOF'
#!/bin/bash
# Script pour collecter les logs de tous les services
# Usage: ./scripts/collect-logs.sh [service_name]
set -e
LOG_DIR="logs"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
if [ $# -eq 1 ]; then
# Collecter les logs d'un service spécifique
SERVICE=$1
if [ -d "$LOG_DIR/$SERVICE" ]; then
echo "📊 Collecte des logs pour $SERVICE..."
docker logs "$SERVICE" > "$LOG_DIR/$SERVICE/${SERVICE}_${TIMESTAMP}.log" 2>&1
echo "✅ Logs collectés: $LOG_DIR/$SERVICE/${SERVICE}_${TIMESTAMP}.log"
else
echo "❌ Service $SERVICE non trouvé"
exit 1
fi
else
# Collecter les logs de tous les services
echo "📊 Collecte des logs de tous les services..."
for service in bitcoin-signet blindbit-oracle sdk_relaysdk_storage lecoffre-front ihm_client tor-proxy signet_miner; do
if docker ps --format "table {{.Names}}" | grep -q "^${service}$"; then
echo "📝 Collecte des logs pour $service..."
mkdir -p "$LOG_DIR/${service##*-}" # Enlever le préfixe si nécessaire
docker logs "$service" > "$LOG_DIR/${service##*-}/${service}_${TIMESTAMP}.log" 2>&1
echo "✅ Logs collectés pour $service"
else
echo "⚠️ Service $service non en cours d'exécution"
fi
done
fi
echo "🎉 Collecte terminée!"
EOF
chmod +x scripts/collect-logs.sh
echo "✅ Configuration des logs terminée!"
echo ""
echo "📋 Prochaines étapes:"
echo "1. Redémarrer les services: docker compose restart"
echo "2. Vérifier Grafana: https://dev4.4nkweb.com/grafana/"
echo "3. Collecter les logs: ./scripts/collect-logs.sh"
echo "4. Surveiller les logs: docker compose logs -f"
echo ""
echo "🔗 URLs utiles:"
echo "- Grafana: https://dev4.4nkweb.com/grafana/"
echo "- Loki API: https://dev4.4nkweb.com/loki/"
echo "- Logs locaux: ./logs/"