TIL

클라이언트 로그를 서버에서 받아보자. 어떻게?

하얀잔디 2026. 1. 23. 12:57

 

사내에서 클라이언트 로그들을 수집해달라는 말이 있었다!

 

클라이언트 자체에서 로그를 기기에 담긴했었는데, 실제로 유저들이 겪는 불편함 ( VOC로 안들어오는 ) 을 체크하고, 주요 기능의 에러율을 모니터링 하고자 하는 취지였다.

 

그래서 우선 그냥 쉽게 생각이 든건 다음과 같았다.

 

클라이언트 -> 서버로 API 쏘고 서버에서 DB 받으면 매우 easy. good~~

 

빠르게 만들 수 있고, 조회도 쉬운 장점이 있음.

 

 


 

다만 바로 DB에 쌓는 방식의 고민

하지만 클라이언트 로그 특성상,

  • 발생량이 많아질 수 있고
  • 에러 / 이벤트 / 트래킹 로그가 뒤섞일 수 있으며
  • 단순 조회보다 집계·비율·추이 분석이 더 중요함

이라는 점을 고려하면
일반 서비스 DB에 그대로 적재하는 방식은
장기적으로 부담이 될 수 있다고 판단했음.

 

현재 선택한 방향 (OpenSearch 활용)

 

현재 사내에서 OpenSearch를 사용 중이므로,
클라이언트 로그 역시 출력(Log) 형태로 수집하는 방향을 우선 고려함.

구조는 아래와 같음.

 

  • 클라이언트 → 서버로 이벤트/로그 API 호출
  • 서버는 해당 로그를 stdout / structured log(JSON) 형태로 출력
  • Fluent-bit을 통해 로그 수집
  • OpenSearch로 적재 후 대시보드/쿼리 기반 분석

이 방식의 장점은,

  • DB 부하 없이 대량 로그 수집 가능
  • 에러율, 기능별 실패 비율, 사용자 행동 패턴 분석 용이
  • 기존 인프라(OpenSearch, Fluent-bit) 재사용 가능

이라는 점임.

 

 

 

따라서 우선 json 출력 방향으로 간다. 문제가 있으면 또 적겠음.