2022-05-27 전략프로젝트팀, 문재범PD

개요

프로그램에 문제가 생기면 개발자가 가장 먼저 하는 일이 무엇일까요?

제대로 설계된 프로그램이라면 문제에 대해서 오류 로그를 남기도록 되어있을 것입니다.

개발자는 오류를 통해서 어디에 문제가 발생했는지 쉽게 파악하고 해결할 수 있습니다.

오류 뿐만 아니라 다양한 정보를 로깅하면 이 정보들을 다양하게 활용할 수 있습니다.

현재 팀에서 개발한 “캐치클래스” 에서는 사용자의 행동패턴을 GA로 분석하고 있습니다.

그러나 이 데이터는 저희 서버가 아닌 구글 서버에 쌓이는 데이터이기에 추후에 활용하는데 어려움이 있습니다.

때문에 저희 팀에서는 이러한 행동패턴을 로그로 남기고 수집하고, 추후에 분석해서 활용하고 싶었습니다.

어떻게 효율적으로 로그를 관리 할 수 있을까요?

단순하게 형식을 지정하여 파일로 저장해서 관리하는 방법도 있겠지만

다양한 프로그램에서 제각기 다른 형식으로, 다른 곳에 위치한 폴더에 파일을 남기면 추후에 관리의 어려움이 생길 것입니다.

DB에 남길 수도 있지만 전통적인 RDB에 로그를 쌓기에는 많은 cost가 소요될 것 입니다.

저희는 엘라스틱서치를 사내에서 처음으로 도입했고 현재 프로젝트에 사용하고 있습니다.

엘라스틱서치는 강력한 데이터 수집 및 로그 파싱 엔진인 Logstash 그리고