59 lines
1.8 KiB
Bash
Executable File
59 lines
1.8 KiB
Bash
Executable File
#!/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..."
|
|
|
|
# Liste des services à collecter
|
|
services=(
|
|
"tor-proxy:tor"
|
|
"bitcoin-signet:bitcoin"
|
|
"blindbit-oracle:blindbit"
|
|
"sdk_relay:sdk_relay"
|
|
"sdk_storage:sdk_storage"
|
|
"lecoffre-back:lecoffre-back"
|
|
"lecoffre-front:lecoffre-front"
|
|
"ihm_client:ihm_client"
|
|
"grafana:grafana"
|
|
"loki:loki"
|
|
"promtail:promtail"
|
|
"status-api:status-api"
|
|
"signet_miner:miner"
|
|
)
|
|
|
|
for service_entry in "${services[@]}"; do
|
|
service_name="${service_entry%%:*}"
|
|
log_dir="${service_entry##*:}"
|
|
|
|
if docker ps --format "table {{.Names}}" | grep -q "^${service_name}$"; then
|
|
echo "📝 Collecte des logs pour $service_name..."
|
|
mkdir -p "$LOG_DIR/$log_dir"
|
|
docker logs "$service_name" > "$LOG_DIR/$log_dir/${service_name}_${TIMESTAMP}.log" 2>&1
|
|
echo "✅ Logs collectés pour $service_name"
|
|
else
|
|
echo "⚠️ Service $service_name non en cours d'exécution"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
echo "🎉 Collecte terminée!"
|