Skip to content

feat: Prometheus /metrics endpoint & Grafana 연동 #3

@RumbleKAT

Description

@RumbleKAT

Description

서버 운영 메트릭 수집을 위한 Prometheus 호환 /metrics 엔드포인트를 추가하고, 선택적으로 Grafana 대시보드를 구성합니다.

Why

  • 현재 서버 상태를 실시간으로 모니터링할 방법이 없음 (텔레메트리는 익명 사용통계 전용)
  • 장애 대응, 성능 분석, 용량 계획에 필요

Requirements

  • prom-client (prometheus client) npm 패키지 추가
  • GET /api/metrics 엔드포인트 (Prometheus 포맷)
  • 수집할 메트릭 정의:
    • HTTP 요청 수/지속시간 (histogram)
    • 활성 사용자/워크스페이스 수 (gauge)
    • LLM 호출 수/지연시간/토큰 사용량
    • DB 연결 상태
    • 시스템 리소스 (CPU, 메모리, 디스크)
  • K8s prometheus.io/scrape annotation 정리 (port 9090 → /metrics)
  • docker-compose에 prometheus + grafana 서비스 옵션 추가 (선택)
  • Grafana 대시보드 JSON 예제 제공 (선택)

Existing Context

  • cloud-deployments/k8/manifest.yaml에 prometheus scrape annotation은 이미 있으나 미구현 상태
  • server/endpoints/utils.js에 GET /api/utils/metrics는 있으나 Prometheus 포맷 아님
  • DISABLE_TELEMETRY env var 존재

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions