healthcheck(api test) 스크립트 추가
This commit is contained in:
@@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# NAS 내부 헬스체크용 (localhost 사용)
|
||||||
|
# 포트: backend(18000), travel-proxy(19000), frontend(8080)
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
echo "======================================"
|
||||||
|
echo " Starting Health Check..."
|
||||||
|
echo "======================================"
|
||||||
|
|
||||||
|
check_url() {
|
||||||
|
local name="$1"
|
||||||
|
local url="$2"
|
||||||
|
|
||||||
|
# HTTP 상태 코드만 가져옴 (타임아웃 5초)
|
||||||
|
status=$(curl -o /dev/null -s -w "%{http_code}" --max-time 5 "$url" || echo "FAIL")
|
||||||
|
|
||||||
|
if [[ "$status" == "200" ]]; then
|
||||||
|
echo -e "[${GREEN}OK${NC}] $name ($url) -> $status"
|
||||||
|
else
|
||||||
|
echo -e "[${RED}XX${NC}] $name ($url) -> $status"
|
||||||
|
# 하나라도 실패하면 exit 1 (CI/CD용)
|
||||||
|
# exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "--- 1. Backend Service ---"
|
||||||
|
check_url "Backend Health" "http://localhost:18000/health"
|
||||||
|
check_url "Lotto Latest" "http://localhost:18000/api/lotto/latest"
|
||||||
|
check_url "Stats API" "http://localhost:18000/api/lotto/stats"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "--- 2. Travel Proxy Service ---"
|
||||||
|
# Travel Proxy는 Main.py에서 루트(/) 엔드포인트가 없을 수 있어서 regions 체크
|
||||||
|
check_url "Travel Regions" "http://localhost:19000/api/travel/regions"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "--- 3. Frontend (Nginx) ---"
|
||||||
|
# 외부 포트 8080으로 접속 테스트
|
||||||
|
check_url "Frontend Home" "http://localhost:8080"
|
||||||
|
# Nginx가 Backend로 잘 프록시하는지 체크
|
||||||
|
check_url "Nginx->Backend Proxy" "http://localhost:8080/api/health"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "======================================"
|
||||||
|
echo " Health Check Completed."
|
||||||
|
echo "======================================"
|
||||||
|
|||||||
Reference in New Issue
Block a user