Some checks failed
CI/CD - Francia Ocupada (La Resistencia) / build-and-deploy (push) Failing after 7s
132 lines
3.8 KiB
Bash
Executable File
132 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script de monitoreo para el despliegue de Francia Ocupada
|
|
# Uso: ./monitor-deploy.sh
|
|
|
|
echo "🔍 Monitor de Despliegue - Francia Ocupada"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Colores para output
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Función para verificar estado de contenedores
|
|
check_containers() {
|
|
echo -e "${YELLOW}📦 Estado de Contenedores:${NC}"
|
|
docker compose -f docker-compose_prod.yml ps
|
|
echo ""
|
|
}
|
|
|
|
# Función para verificar logs
|
|
check_logs() {
|
|
echo -e "${YELLOW}📋 Logs Recientes (últimas 20 líneas):${NC}"
|
|
echo ""
|
|
echo "--- CLIENT ---"
|
|
docker compose -f docker-compose_prod.yml logs --tail=20 client 2>/dev/null || echo "Cliente no disponible"
|
|
echo ""
|
|
echo "--- SERVER ---"
|
|
docker compose -f docker-compose_prod.yml logs --tail=20 server 2>/dev/null || echo "Servidor no disponible"
|
|
echo ""
|
|
}
|
|
|
|
# Función para verificar conectividad
|
|
check_connectivity() {
|
|
echo -e "${YELLOW}🌐 Verificación de Conectividad:${NC}"
|
|
|
|
# Verificar puerto 3000 (cliente)
|
|
if nc -z localhost 3000 2>/dev/null; then
|
|
echo -e "${GREEN}✅ Puerto 3000 (Cliente): ABIERTO${NC}"
|
|
else
|
|
echo -e "${RED}❌ Puerto 3000 (Cliente): CERRADO${NC}"
|
|
fi
|
|
|
|
# Verificar puerto 4000 (servidor)
|
|
if nc -z localhost 4000 2>/dev/null; then
|
|
echo -e "${GREEN}✅ Puerto 4000 (Servidor): ABIERTO${NC}"
|
|
else
|
|
echo -e "${RED}❌ Puerto 4000 (Servidor): CERRADO${NC}"
|
|
fi
|
|
|
|
# Verificar puerto 5432 (base de datos)
|
|
if nc -z localhost 5432 2>/dev/null; then
|
|
echo -e "${GREEN}✅ Puerto 5432 (Base de Datos): ABIERTO${NC}"
|
|
else
|
|
echo -e "${RED}❌ Puerto 5432 (Base de Datos): CERRADO${NC}"
|
|
fi
|
|
|
|
echo ""
|
|
}
|
|
|
|
# Función para verificar uso de recursos
|
|
check_resources() {
|
|
echo -e "${YELLOW}💻 Uso de Recursos:${NC}"
|
|
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" \
|
|
$(docker compose -f docker-compose_prod.yml ps -q 2>/dev/null) 2>/dev/null || echo "No hay contenedores corriendo"
|
|
echo ""
|
|
}
|
|
|
|
# Menú principal
|
|
while true; do
|
|
echo ""
|
|
echo "Selecciona una opción:"
|
|
echo "1) Ver estado de contenedores"
|
|
echo "2) Ver logs recientes"
|
|
echo "3) Verificar conectividad"
|
|
echo "4) Ver uso de recursos"
|
|
echo "5) Monitoreo completo"
|
|
echo "6) Logs en tiempo real (Ctrl+C para salir)"
|
|
echo "7) Reiniciar servicios"
|
|
echo "8) Detener servicios"
|
|
echo "9) Salir"
|
|
echo ""
|
|
read -p "Opción: " option
|
|
|
|
case $option in
|
|
1)
|
|
check_containers
|
|
;;
|
|
2)
|
|
check_logs
|
|
;;
|
|
3)
|
|
check_connectivity
|
|
;;
|
|
4)
|
|
check_resources
|
|
;;
|
|
5)
|
|
check_containers
|
|
check_connectivity
|
|
check_resources
|
|
check_logs
|
|
;;
|
|
6)
|
|
echo "📡 Logs en tiempo real (Ctrl+C para detener)..."
|
|
docker compose -f docker-compose_prod.yml logs -f
|
|
;;
|
|
7)
|
|
echo "🔄 Reiniciando servicios..."
|
|
docker compose -f docker-compose_prod.yml restart
|
|
echo -e "${GREEN}✅ Servicios reiniciados${NC}"
|
|
;;
|
|
8)
|
|
read -p "¿Estás seguro de que quieres detener los servicios? (s/n): " confirm
|
|
if [ "$confirm" = "s" ]; then
|
|
echo "🛑 Deteniendo servicios..."
|
|
docker compose -f docker-compose_prod.yml down
|
|
echo -e "${GREEN}✅ Servicios detenidos${NC}"
|
|
fi
|
|
;;
|
|
9)
|
|
echo "👋 ¡Hasta luego!"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo -e "${RED}❌ Opción inválida${NC}"
|
|
;;
|
|
esac
|
|
done
|