104 lines
3.2 KiB
Bash
Executable File
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/"
|