DOCS/workflow/05_admin/service_health_check.md
happybell80 0252dd1a7f fix: 51123 서버 IP 주소 업데이트 (성수 이전)
192.168.219.45 → 192.168.0.100 일괄 변경

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 11:52:26 +09:00

40 lines
1.6 KiB
Markdown

# 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)