SSOT 원칙(JSON 먼저, MD 함께): 모든 워크플로우 JSON에 대응하는 MD 보조 문서 작성. 260319 rb8001 변경 영향 반영: - companyx_grounding_pipeline: skip_default_prompt로 영향 없음 (notes 추가) - diary_reflection_pipeline: prompt DB v3 + neutral 생략 적용됨 (notes 추가) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
40 lines
1.6 KiB
Markdown
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.219.45:8100/health` |
|
|
| auth-server | `http://192.168.219.45: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)
|