프로젝트 소개
Wstats(WebStats)는 사설 배포가 가능한 웹사이트 통계 분석 시스템으로, 사용자의 모든 데이터를 완전히 보존하는 것을 목표로 합니다. 시스템 백엔드는 네이티브 PHP, MySQL, Redis를 사용하며, 프론트엔드는 React와 Semi Design을 기반으로 하고, 의존성이 없는 JS 수집 SDK를 제공합니다.
핵심 기능은 멀티 사이트, 멀티 사용자 관리(회원가입/로그인 및 파일 검증 포함) 및 중영 이중 언어 지원을 포함합니다. 현재 버전은 개요 대시보드(PV/UV/IP/이탈률/평균 체류 시간/활성 트렌드/오늘 실시간 시간대별), 유입 경로 분석(채널 구성/트렌드/외부 링크/UTM/광고 플랫폼), 세션 목록 및 단일 세션 전체 행동 로그를 제공합니다. 시스템은 수집 계층과 데이터베이스 테이블에 방문자, 여정, 광고, 성능, 리플레이, 히트맵, 퍼널, 지역, 대시보드 등 심층 모듈을 위한 필드를 미리 확보해 두었으며, 단계적으로 반복 개발할 예정입니다.
아키텍처 설계 측면에서는 고트래픽 환경에 대비한 여러 최적화를 적용했습니다: 수집 단계에서는 Redis에만 기록하고, 상주 worker가 데이터베이스에 일괄 기록합니다; events 테이블은 월별 파티셔닝을 적용하고 정기 작업으로 자동 유지보수됩니다; 개요 보고서는 사전 집계된 요약 테이블을 읽어옵니다; UV/IP는 이벤트 상세 내역을 통해 정확하게 중복 제거됩니다. 시스템은 순수 PHP RESP 프로토콜 클라이언트를 내장하여 별도의 Redis 확장이 필요 없으며, Redis 장애 시 MySQL에 직접 기록하도록 자동 폴백됩니다.
배포 측면에서는 웹 마법사, 명령줄 및 Docker Compose 원클릭 배포를 지원합니다. 설정 파일과 핵심 코드는 보안을 위해 웹 루트 디렉토리 외부에 배치됩니다. 시스템은 사이트 검증 메커니즘을 제공하여 검증된 사이트만 데이터를 보고할 수 있으며, 리버스 프록시 환경에 대응하기 위해 실제 IP 출처를 수동으로 설정할 수 있습니다. 프로젝트는 MIT 라이선스를 채택하여 무료 상업적 이용을 허용합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.