- 레거시 .md 2건(slack_basic_dialogue, service_health_check)을 _archive/로 이동 - n8n .json 파일 18건을 _archive/로 이동 - README.md 전면 재작성: n8n 전제 제거, 현행 아키텍처(APScheduler DB + SKILL.md) 반영 - 구 IP(192.168.219.52)를 localhost로 교체 (infrastructure-ssot-principle 준수) Refs: DOCS#8 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB
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(장애 시)