# service_health_check 워크플로우 ## 목적 10분마다 robeing 전체 서비스(gateway, auth, rb8001, skill-email, skill-news, skill-rag-file, skill-calendar)의 health를 확인하고, DOWN인 서비스가 있으면 Slack에 장애 알림을 보낸다. ## 흐름 ``` Every 10 mins → Service List → Check Health → Assess Status → Is Down? → (true) Alert Slack → (false) 종료 ``` ## 주요 노드 | 노드 | 설명 | |---|---| | Every 10 mins | 10분 간격 스케줄 | | Service List | 7개 서비스의 name + health URL 배열 생성 | | Check Health | 각 서비스 `GET {url}` 호출 (timeout 5초, 에러 시 continue) | | Assess Status | statusCode 200/201이면 UP, 그 외 DOWN | | Is Down? | DOWN일 때만 알림 분기 | | Alert Slack | 서비스명, 상태 코드 포함 장애 알림 | ## 감시 대상 | 서비스 | URL | |---|---| | robeing-gateway | `http://192.168.0.100:8100/health` | | auth-server | `http://192.168.0.100:9000/health` | | rb8001 | `http://192.168.219.52:8001/health` | | skill-email | `http://192.168.219.52:8501/healthz` | | skill-news | `http://192.168.219.52:8505/healthz` | | skill-rag-file | `http://192.168.219.52:8508/healthz` | | skill-calendar | `http://192.168.219.52:8512/health` | ## 엔드포인트 - 아웃바운드: 위 7개 서비스 health URL - 아웃바운드: Slack `chat.postMessage` (장애 시) ## 관련 문서 - [scheduled_healthcheck_alert](../04_scheduler/scheduled_healthcheck_alert.md) - [diary_reflection_pipeline](./diary_reflection_pipeline.md)