#!/bin/bash # MY Network Bootstrap Deployment Monitor # Скрипт для наблюдения за процессом развертывания echo "🚀 MY Network Bootstrap Deployment Monitor" echo "==========================================" echo "Сервер: 2.58.65.188" echo "Домен: my-public-node-3.projscale.dev" echo "Время запуска: $(date)" echo "" while true; do clear echo "🚀 MY Network Bootstrap - Live Monitor" echo "=====================================" echo "⏰ $(date '+%H:%M:%S') | Обновляется каждые 30 секунд" echo "" # Проверка локальных процессов echo "📡 Локальные процессы:" SCP_COUNT=$(ps aux | grep 'scp.*auto_deploy.sh' | grep -v grep | wc -l | tr -d ' ') SSH_COUNT=$(ps aux | grep 'auto_ssh_deploy.exp' | grep -v grep | wc -l | tr -d ' ') if [[ $SCP_COUNT -gt 0 ]]; then echo " ✅ SCP Transfer: Активен (передача файлов)" else echo " ✅ SCP Transfer: Завершен" fi if [[ $SSH_COUNT -gt 0 ]]; then echo " 🔄 SSH Deploy: Активен (установка на сервере)" else echo " ⚠️ SSH Deploy: Завершен или прерван" fi echo "" # Проверка доступности домена echo "🌐 Проверка домена:" DOMAIN_STATUS=$(curl -s --connect-timeout 3 -o /dev/null -w "%{http_code}" https://my-public-node-3.projscale.dev/api/my/health 2>/dev/null || echo "TIMEOUT") case $DOMAIN_STATUS in "200") echo " ✅ API доступен: https://my-public-node-3.projscale.dev/api/my/health" echo " 🎉 РАЗВЕРТЫВАНИЕ ЗАВЕРШЕНО УСПЕШНО!" ;; "521") echo " ⏳ Error 521: Сервер недоступен (установка в процессе)" ;; "522") echo " ⏳ Error 522: Connection timeout (сервис запускается)" ;; "TIMEOUT") echo " ⏳ Timeout: Проверяем соединение..." ;; *) echo " ⚠️ HTTP $DOMAIN_STATUS: Проверяем статус..." ;; esac echo "" # Проверка прямого подключения к серверу echo "🔍 Проверка сервера:" SERVER_PING=$(ping -c 1 -W 1000 2.58.65.188 2>/dev/null | grep "1 received" | wc -l | tr -d ' ') if [[ $SERVER_PING -gt 0 ]]; then echo " ✅ Сервер 2.58.65.188 доступен" else echo " ⚠️ Сервер 2.58.65.188 недоступен" fi # Попытка проверить порты echo "" echo "🔌 Проверка портов:" # Проверяем SSH (22) SSH_CHECK=$(timeout 3 bash -c "/dev/null && echo "open" || echo "closed") echo " SSH (22): $SSH_CHECK" # Проверяем HTTP (80) HTTP_CHECK=$(timeout 3 bash -c "/dev/null && echo "open" || echo "closed") echo " HTTP (80): $HTTP_CHECK" # Проверяем HTTPS (443) HTTPS_CHECK=$(timeout 3 bash -c "/dev/null && echo "open" || echo "closed") echo " HTTPS (443): $HTTPS_CHECK" echo "" echo "📊 Статус развертывания:" if [[ $DOMAIN_STATUS == "200" ]]; then echo " 🎯 Статус: ЗАВЕРШЕНО" echo " ✅ MY Network Bootstrap Node готов к работе!" echo "" echo "🔗 Доступные endpoints:" echo " • Health: https://my-public-node-3.projscale.dev/api/my/health" echo " • Node Info: https://my-public-node-3.projscale.dev/api/my/node/info" echo " • Bootstrap: https://my-public-node-3.projscale.dev/api/my/bootstrap/config" echo "" echo "🎉 Развертывание успешно завершено!" break elif [[ $SSH_COUNT -gt 0 ]]; then echo " 🔄 Статус: В ПРОЦЕССЕ" echo " ⏳ Установка компонентов на сервере..." if [[ $HTTPS_CHECK == "open" ]]; then echo " ✅ Порт 443 открыт - nginx работает" fi elif [[ $SCP_COUNT -gt 0 ]]; then echo " 📤 Статус: ПЕРЕДАЧА ФАЙЛОВ" echo " ⏳ Копирование скриптов на сервер..." else echo " ⚠️ Статус: НЕИЗВЕСТНО" echo " 🔍 Проверьте терминалы или перезапустите развертывание" fi echo "" echo "💡 Для детального мониторинга:" echo " Terminal 1: SCP процесс" echo " Terminal 2: SSH развертывание" echo "" echo "⏹️ Нажмите Ctrl+C для выхода" echo "🔄 Следующее обновление через 30 секунд..." sleep 30 done