snp-connection-monitoring/docs/dashboard-statistics-guide.md
HYOJIN 8ebac1fa54 feat(stats): 통계 메뉴 + 대시보드 피드백 반영
통계 메뉴 (5개 서브페이지):
- 서비스 통계 (요약카드+에러율비교+응답시간분포+시간별추이)
- 사용자 통계 (전체/API Key보유/API요청 사용자+역할분포+Top10)
- API 통계 (호출순위+에러순위+메서드분포+상태코드분포)
- 테넌트 통계 (요약카드+일별추이+API Key현황)
- 사용량 추이 (일별/주별/월별 탭, 요청수+성공률+응답시간+활성사용자)

대시보드 피드백:
- 요약카드 전일대비 소숫점 2자리
- 하트비트 카드형 (프로그레스바 제거, flex 균등분할)
- 테넌트 차트 제거
- 상위 API URL 쿼리파라미터 정규화 (SPLIT_PART)
- Gateway request_url 저장 시 쿼리스트링 제외
- "활성 사용자" → "API 요청 사용자" 라벨 변경

서비스 통계: 요약카드 flex 유동너비, 에러율+응답시간 차트 교체
사용자 통계: API Key 보유 사용자 카드 추가, flex 균등분할
API 통계: 타이틀 변경, 쿼리파라미터 제외 쿼리, 프로그레스바 분리
테넌트 통계: flex 균등분할, 빈 테넌트명 Unknown 처리

Closes #23

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

3.9 KiB

대시보드 + 통계 메뉴 가이드

Dashboard (/dashboard)

실시간 모니터링 (30초 자동 갱신)

섹션 내용
요약 카드 4개 오늘 총 요청(전일 대비%), 성공률(실패건수), 평균 응답시간(ms), 활성 사용자 수
하트비트 상태 바 서비스별 UP/DOWN 상태, 응답시간, 마지막 체크 시간
시간별 요청 추이 LineChart (성공/실패, 0~23시)
서비스별 요청 비율 PieChart 도넛
에러율 추이 AreaChart (시간별, 서비스별)
상위 호출 API 서비스 태그 + API명 + 프로그레스바 Top 10
테넌트별 요청 비율 PieChart 도넛
테넌트별 사용자 비율 PieChart 도넛
최근 요청 로그 최근 5건 + 더보기 링크

Statistics > 서비스 통계 (/statistics/services)

기간 선택: 오늘 / 7일 / 30일 / 커스텀

섹션 내용 데이터 소스
요약 카드 서비스별 요청수, 성공률%, 평균 응답시간 request_log + service
서비스별 요청 수 BarChart 수평 request_log GROUP BY service
시간별 서비스 요청 추이 LineChart (서비스별 라인) request_log GROUP BY hour, service
느린 서비스 Top 5 테이블 (서비스명, 평균응답시간, 요청수) request_log AVG(response_time)

Statistics > 사용자 통계 (/statistics/users)

기간 선택: 오늘 / 7일 / 30일 / 커스텀

섹션 내용 데이터 소스
활성 사용자 수 카드 request_log DISTINCT user_id
일별 활성 사용자 추이 AreaChart request_log GROUP BY date
역할별 요청 분포 PieChart 도넛 (ADMIN/MANAGER/USER/VIEWER) request_log + user GROUP BY role
상위 사용자 Top 10 테이블 (이름, 역할 배지, 요청수, 성공률%) request_log GROUP BY user

Statistics > API 통계 (/statistics/apis)

기간 선택: 오늘 / 7일 / 30일 / 커스텀

섹션 내용 데이터 소스
HTTP 메서드 분포 PieChart 도넛 (GET/POST/PUT/DELETE) request_log GROUP BY method
HTTP 상태 코드 분포 BarChart (200/400/401/403/500...) request_log GROUP BY response_status
상위 호출 API Top 20 테이블 (서비스 태그, API명, 메서드 배지, 호출수, 응답시간, 성공률) request_log + service + service_api
에러 많은 API Top 10 테이블 (서비스 태그, API명, 에러수, 전체수, 에러율%) request_log WHERE status != SUCCESS

Statistics > 테넌트 통계 (/statistics/tenants)

기간 선택: 오늘 / 7일 / 30일 / 커스텀

섹션 내용 데이터 소스
요약 카드 테넌트별 요청수, 활성 사용자, 성공률 request_log + tenant
일별 테넌트 요청 추이 LineChart (테넌트별 라인) request_log GROUP BY date, tenant
테넌트별 API Key 현황 BarChart (전체 키 vs 활성 키) api_key + user + tenant
테넌트 상세 테이블 (테넌트명, 요청수, 활성사용자, 성공률%, 평균응답시간) request_log GROUP BY tenant

Statistics > 사용량 추이 (/statistics/usage-trend)

기간 탭: [일별] [주별] [월별]

섹션 내용 데이터 소스
요청 수 추이 LineChart + Area (총 요청 + 실패 분리) request_log GROUP BY date/week/month
성공률 + 응답시간 ComposedChart 이중 Y축 (Line 성공률% + Bar 평균응답시간ms) request_log
활성 사용자 추이 BarChart (기간별 사용자 수) request_log DISTINCT user_id
상세 테이블 기간, 총 요청, 성공, 실패, 성공률%, 평균응답시간, 활성 사용자 request_log
기간 범위
일별 최근 30일
주별 최근 12주
월별 최근 12개월