이번에는 로그 파이프라인 제작기를 들었는데 잘 알지 못하는 기능들을 굉장히 많이 쓰고계셔서

그냥 이런식으로 제작하셨고 이런것들을 쓰셨구나 정도 전체적인 흐름을 알게 된 강의였던것 같다.


로그 파이프라인이란? 로그를 모아서 이득을 만들기 위해 만든 것이다.

가장 중요한 것은 로그를 어떻게 남기느냐.


유저게임로그 분석 → 잘 쌓아주고 분석할수있는 바탕 만들자 → 로그관리, 조회, 시각화 환경 만들자


현실적인 목표

오픈소스 조립

다양한 게임 적응되게 공통화

관리,대응 용이하게



제작과정은 아래와 같다

1. 수집, 가공, 적재

2. 조회, 시각화

3. 분석


우선 서버가 파일로 로그를 남길것이다.

인게임로그, 서버로그, 에러로그, 디버그로그

그리고 단순정보(Text), 형식이 있는정보(Json)



수집

Apache Kafka를 사용하였다.

-다양한 포맷 로그를 수집해 입맛에 맞게 가공한다.

- failure에 강하다


적재

Text와 Json로그를 나누어 잘 적재하였다.

PostgreSQL과 S3(AWS)를 사용하였다.

PostgreSQL - JSONB

S3(AWS) - Apache Parquet. Column 단위 저장. JSON대비 10%수준 용량.


대부분 PostgreSQL로 충분하며. 

오래될수록 수요가 낮아지므로 일정기간 지나면 S3로 보내버린다.


분석

Apache Spark를 사용한다.

좋고 쉽다. 그러니까 그냥 사용한다.


조회

PostgreSQL은 SQL

S3는 Spark Thriftserver(Hive Server)의 HiveQL을 사용한다.


시각화

Airbnb Superset을 사용한다.

SQL Lab, Chart & Dashboard 기능 사용가능.


그리고 Log Pipeline Interface를 직접 제작하여 조건에 맞는 저장소 탐색.


반복작업은 어떻게?

Apache Airflow - Work Flow Management

파일 던져놓으면 끝. 분석작업 매일돌리고 메일 발송 등등 해준다.


배포 및 운영

SaltStack

장비별 rule만 설정해두면 알아서


무슨일이 생기면 Nagios

Posted by misty_
,