Skip to content

jang-namu/monitordog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monitordog

Monitordog는 자동차 관련 온라인 커뮤니티의 이슈를 실시간으로 모니터링하고 분석하는 데이터 엔지니어링 프로젝트입니다. 시간 단위로 커뮤니티 데이터를 수집하여 자동차 관련 이슈를 조기에 감지하고, 관련 부서에 알림을 제공합니다.

주요 기능

  • 여러 자동차 커뮤니티(네이버 카페, DC인사이드 등) 데이터 수집
  • 1시간 간격으로 실시간 데이터 수집 및 처리
  • 수집된 데이터의 감성 분석 및 유사도 측정
  • 중요 이슈 발생 시 알림 전송
  • 대시보드를 통한 데이터 시각화

기술 스택

프로그래밍 언어 및 프레임워크

  • Python
  • PySpark
  • Beautiful Soup (bs4)
  • Flask

AWS 서비스

  • Step Functions
  • Lambda
  • EMR (Elastic MapReduce)
  • SQS (Simple Queue Service)
  • SNS (Simple Notification Service)
  • Redshift
  • EC2
  • S3
  • CloudWatch
  • EventBridge

시스템 아키텍처

  1. 데이터 수집

    • EventBridge Scheduler를 통한 1시간 주기 작업 트리거
    • Step Functions을 활용한 병렬 크롤링 워크플로우
    • 각 커뮤니티별 전용 크롤러 구현
    • SQS를 통한 메시지 전송
    • S3에 데이터 저장
  2. 데이터 처리

    • Lambda를 통한 데이터 전처리
    • EMR을 활용한 대규모 데이터 처리
    • 감성 분석 및 유사도 측정
    • Redshift를 활용한 데이터 웨어하우징
  3. 데이터 서빙

    • Tableau를 통한 데이터 시각화
    • Slack을 통한 알림 전송

아키텍처

arichitecture

문제 해결 사례

1. S3 파일 관리 최적화

  • 문제: JSON 파일을 개별적으로 저장하면서 발생한 S3 탐색 비용 증가와 파일 관리의 복잡성
  • 해결: JSON Lines(JSONL) 형식을 도입하여 여러 JSON 객체를 하나의 파일로 집계
  • 결과: 파일 수 감소, 관리 효율성 향상, 배치 처리 성능 개선

2. Step Functions 최적화

  • 문제: Step Functions의 히스토리 이벤트 한도(25000) 초과
  • 해결:
    • Lambda 대신 SQS를 활용하여 페이로드 감소
    • 데이터 수집과 저장 로직 분리
  • 결과: 이벤트 수 감소, 컴포넌트 간 결합도 감소, 시스템 안정성 향상

프로젝트 성과

  • 자동차 관련 이슈의 조기 감지 시스템 구축
  • 1시간 단위의 실시간 모니터링 및 알림 시스템 구현
  • 이슈의 심각성과 유사도 분석을 통한 Actionable Value 제공
  • 데이터 기반의 의사결정 지원 시스템 확립

About

온라인 커뮤니티 모니터링 프로젝트

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •