126 lines
5.1 KiB
Bash
Executable File
126 lines
5.1 KiB
Bash
Executable File
#!/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/tcp/2.58.65.188/22" 2>/dev/null && echo "open" || echo "closed")
|
||
echo " SSH (22): $SSH_CHECK"
|
||
|
||
# Проверяем HTTP (80)
|
||
HTTP_CHECK=$(timeout 3 bash -c "</dev/tcp/2.58.65.188/80" 2>/dev/null && echo "open" || echo "closed")
|
||
echo " HTTP (80): $HTTP_CHECK"
|
||
|
||
# Проверяем HTTPS (443)
|
||
HTTPS_CHECK=$(timeout 3 bash -c "</dev/tcp/2.58.65.188/443" 2>/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 |