@@ -96,9 +96,68 @@ echo "> 스위칭"
9696sleep 10
9797/home/ubuntu/app/nonstop/switch.sh
9898
99- echo " > 배포 완료. 최종 상태 확인"
100- echo " > Nginx: $( sudo systemctl is-active nginx) "
101- echo " > Java 프로세스:"
102- pgrep -a java || echo " > Java 프로세스 없음"
103- echo " > 포트 리스닝:"
104- sudo ss -tlnp | grep -E ' :(80|8081|8082) ' || echo " > 해당 포트 리스닝 없음"
99+ echo " > 배포 완료. 진단 정보 수집 중..."
100+
101+ DIAG_FILE=" /tmp/server-diagnostic-$( date +%Y%m%d-%H%M%S) .txt"
102+ {
103+ echo " ========== SERVER DIAGNOSTIC =========="
104+ echo " Date: $( date) "
105+ echo " "
106+
107+ echo " === Public IP (EC2 metadata) ==="
108+ curl -s --connect-timeout 3 http://169.254.169.254/latest/meta-data/public-ipv4 2> /dev/null || echo " 메타데이터 접근 불가"
109+ echo " "
110+
111+ echo " === Network Interfaces ==="
112+ ip addr show 2> /dev/null || ifconfig 2> /dev/null
113+ echo " "
114+
115+ echo " === Nginx Status ==="
116+ sudo systemctl status nginx 2>&1
117+ echo " "
118+
119+ echo " === Nginx Config ==="
120+ sudo nginx -T 2>&1
121+ echo " "
122+
123+ echo " === Listening Ports ==="
124+ sudo ss -tlnp 2> /dev/null || sudo netstat -tlnp 2> /dev/null
125+ echo " "
126+
127+ echo " === Java Processes ==="
128+ pgrep -a java 2> /dev/null || echo " Java 프로세스 없음"
129+ echo " "
130+
131+ echo " === iptables Rules ==="
132+ sudo iptables -L -n 2> /dev/null || echo " iptables 조회 실패"
133+ echo " "
134+
135+ echo " === Localhost Health Check ==="
136+ curl -s http://localhost:8081/actuator/health 2> /dev/null
137+ echo " "
138+ curl -s http://localhost:8082/actuator/health 2> /dev/null
139+ echo " "
140+ curl -s http://localhost/actuator/health 2> /dev/null
141+ echo " "
142+ curl -s http://localhost/profile 2> /dev/null
143+ echo " "
144+
145+ echo " === Disk Usage ==="
146+ df -h 2> /dev/null
147+ echo " "
148+
149+ echo " === Memory Usage ==="
150+ free -h 2> /dev/null
151+ echo " "
152+
153+ echo " === nohup.out (last 50 lines) ==="
154+ tail -50 /home/ubuntu/app/nohup.out 2> /dev/null || echo " nohup.out 없음"
155+ echo " "
156+
157+ echo " ========== END DIAGNOSTIC =========="
158+ } > " $DIAG_FILE " 2>&1
159+
160+ echo " > 진단 결과를 S3에 업로드..."
161+ aws s3 cp " $DIAG_FILE " s3://runnect-prod-bucket/diagnostics/$( basename " $DIAG_FILE " ) 2>&1 || echo " > S3 업로드 실패"
162+
163+ echo " > 진단 완료"
0 commit comments