모니터링
quant-ai의 운영 가시성은 세 축으로 구성됩니다.
- Grafana — 5종 대시보드와 4종 unified alerting 규칙
- Telegram — Grafana 알림 + 시스템 헬스체크 알림의 fan-out 채널
- 헬스체크 cron — 일일 1회 컨테이너 / DB / Redis / alembic 상태 확인
어디서부터 보아야 하나
| 상황 | 첫 화면 |
|---|---|
| 일일 운영 스탠드업 | Multi-Asset Overview + Daily Loss Monitor |
| Telegram에 알림이 옴 | 본 카테고리 → Telegram 알림 → 룰별 트러블슈팅 페이지 |
| 컨테이너가 unhealthy | 헬스체크 cron §검증 |
| 사용자가 "내 PnL이 안 보여요" | Grafana — Multi-Asset Overview §데이터 소스 |
스택 다이어그램
flowchart LR
DB[(TimescaleDB)] --> GRAFANA[Grafana]
GRAFANA --> RULES[alerting/rules.yaml<br/>4 규칙]
RULES --> WEBHOOK[/internal/grafana/webhook]
WEBHOOK --> TELE[Telegram bot]
RULES --> EMAIL[OPS_EMAIL]
CRON[infra/healthcheck.sh<br/>cron 0 9 * * *] --> TELE
HEALTH[/health endpoint] -.--> CRON
단일 출처
- 알림 규칙 정의:
infra/grafana/alerting/rules.yaml - 알림 라우팅:
infra/grafana/alerting/contact_points.yaml - 대시보드 JSON:
infra/grafana/dashboards/*.json - Telegram 브리지:
src/monitoring/grafana_webhook.py - 헬스 스크립트:
infra/healthcheck.sh
관련 페이지
- Grafana 대시보드
- Telegram 알림
- 헬스체크 cron
- 비상 정지 — 알림 후 즉시 동작