4. Streamlit Dashboard

Stock Pipeline의 Streamlit 대시보드는 실시간 주식 데이터 모니터링, 기술적 분석, API 성능 테스트 등을 위한 통합 웹 인터페이스입니다.


접속 방법

# Docker Compose로 실행 (권장)
cd /home/grey1/stock-kafka3/docker
docker-compose up -d streamlit
 
# 브라우저에서 접속
http://localhost:8501

전체 페이지 구조

📊 Main Dashboard (monitoring_dashboard.py)
├── 05_실시간_Redis_모니터링.py
├── 06_Kafka_부하테스트_모니터링.py
└── 07_API_호출_테스트_대시보드.py

전체 페이지 구조

📊 Main Dashboard (monitoring_dashboard.py)
├── 05_실시간_Redis_모니터링.py
├── 06_Kafka_부하테스트_모니터링.py
└── 07_API_호출_테스트_대시보드.py

05 — 실시간 Redis 모니터링

Redis에 캐싱된 실시간 데이터와 기술적 신호를 모니터링합니다.

주요 기능

신호 추적 탭

  • 활성 신호 타입: 볼린저, RSI, MACD 등
  • Trigger Price: 신호 발생 시점 가격 (고정값)
  • 현재 가격: 실시간 업데이트
  • 수익률: (현재가 - Trigger Price) / Trigger Price
  • 신호 강도: 조건 충족 정도

실시간 데이터 탭

  • 실시간 주가, 변동률, 거래량
  • RSI, MACD, 볼린저밴드 값
  • 업데이트 주기: 1초 단위 자동 새로고침

Redis 상태 탭

지표Redis 키
메모리 사용량used_memory_human
연결 클라이언트 수connected_clients
초당 명령어 처리instantaneous_ops_per_sec
캐시 히트율keyspace_hits / (hits + misses)
TTL 만료 예정 키 수

Trigger Price 개념 정리

구분기준특징
관심종목 Trigger Price관심종목 등록일 종가 (PostgreSQL)고정값 — 장기 수익률 계산용
활성 신호 Trigger Price기술적 조건 충족 시점 가격 (Redis)동적값 — 단기 매매 타이밍 판단용

06 — Kafka 부하테스트 모니터링

Kafka 메시지 큐의 성능 테스트 및 부하 상태를 모니터링합니다.

테스트 설정 항목

항목설명
메시지 전송률msgs/sec 설정
테스트 기간1분~60분
메시지 크기소/중/대
동시 프로듀서 수1~10개

실시간 모니터링 지표

  • 초당 메시지 생산량 / 소비량
  • Lag: 미처리 메시지 수
  • 평균 응답 시간 (ms)
  • 에러율

07 — API 호출 테스트 대시보드

외부 API 및 내부 서비스의 호출 성능을 테스트하고 모니터링합니다.

테스트 대상

분류대상
외부 APIyfinance, KIS API, NASDAQ API
내부 서비스Kafka UI, Airflow API, Redis

성능 테스트 결과 요약

Kafka 메시지 처리 성능

종목평균 응답시간TPS
AAPL4.53ms0.042
GOOGL3.96ms0.050
TSLA3.49ms0.067
NVDA4.36ms0.050
AMZN4.07ms0.059

전체 평균: 4.1ms, 처리량: ~120 msgs/sec, 성공률: 100%

API 부하테스트 결과

항목수치
총 요청수585개
성공률70.8% (414건)
평균 응답시간33.9ms
최대 TPS4.91 req/sec