로그수집서버 아키텍처 알아보기
1. 일반적인 로그수집/리포팅 시스템 구조
컴포넌트 | 역할 | 솔루션 |
API 서버 |
로그를 클라이언트로 부터 수집하고 데이터를 정제한다. | node.js, ruby, php (일반적인 웹서버) |
Log Storage | 로그 저장소 |
Elastic Search |
Message Consumer |
MQ 로 부터 로그를 Message Consumer 가 순차적으로 읽어서 Log Storage 에 저장한다. |
Multi Thread(or Process) + Timer 를 조합하여 메시지를 폴링 방식으로 읽어오는 어플리케이션 개발 |
Message Q |
로그 저장소가 순간적으로 많은 트래픽을 감당할 수 없는 경우가 많기 때문에, 중간에 MQ 를 넣어서 들어오는 로그를 저장하며 완충한다. |
Kafka (대량 큐) |
Reporting | 저장된 로그는 Reporting 툴을 이용하여 시각화 한다. |
Kibana |
2. Google Cloud Logging
스택드라이버와 빅쿼리를 이용한 로그 수집 시스템 구현
컴포넌트 | 역할 |
API 서버 |
API 서버를 이용하여 클라이언트로 부터 로그 수집 |
Stack Driver Logging |
Export 기능을 이용하여 수집된 로그를 실시간으로 빅쿼리로 전송한다. |
BigQuery | 방대한 양의 데이터에서 거의 실시간으로 SQL 쿼리를 실행하는 데 사용할 수 있는 페타바이트 규모의 분석 데이터웨어하우스 입니다. |
Reporting | 저장된 로그는 구글 데이타 스튜디오, 제플리, 주피터와 같은 리포팅 도구에 의하여 시각화 한다. |
3. AWS
컴포넌트 | 역할 |
Amazon ES (Elasticsearch Service) |
AWS 클라우드에서 Elasticsearch 클러스터의 배포, 운영 및 확장을 단순화하는 관리 서비스 |
Kibana |
AWS ES 와 통합 된 분석 및 시각화 플랫폼을 제공 |
AWS Lambda |
Amazon CloudWatch 에서 Amazon ES 도메인으로 로그 데이터를 로드하기 위해 사용 |
Amazon CloudWatch |
애플리케이션 및 시스템 전반의 성능 변화에 대응하고, 리소스 사용률을 최적화하고, |
Amazon Cognito |
Kibana 대쉬보드 사용자 인증 제공 |
4. azure
컴포넌트 | 역할 |
Azure IoT HUB | 수십억 개의 IoT 자산을 연결, 모니터링 및 관리 |
Azure Event HUBS | 웹 사이트, 앱 및 모든 데이터 스트림에서 클라우드로 원격 데이터 수집 |
KAFKA On Azure HDInsight | 실시간 데이터를 위한 높은 처리량, 낮은 대기시간 관리 |
Azure Storage BLOBS | 구조화되지 않은 데이터를 위한 확장 가능한 개체 저장소 |
Azure SQL Data Warehouse | 엔터프라이즈를 위한 빠르고 유연한 보안 분석 플랫폼 |
Azure HDInsight (HADOOP/SPARK) | 엔터프라이즈 용 오픈 소스 분석 서비스 |
Azure Stream Analytics | 모든 IoT 장치 및 게이트웨이의 데이터를 즉시 분석 |
Azure Analysis Services | 빠른 시작 및 효율적인 확장을 위한 분석 엔진 |
Power BI | 대화형 시각적 개체, 대시보드 및 보고서 제공 |
어드밴스드 분석 – Azure Machine Learning | 확장 및 신뢰할 수 있는 엔드-투-엔드 플랫폼으로 사용자의 AI 적용 |
딥 러닝 – Cognitive Services | 인공지능을 활용하여 사용자의 요구사항을 자연스러운 의사소통 방식으로 해석 |
5. ELK stack
컴포넌트 | 역할 |
Elasticsearch |
대규모의 데이터를 손쉽게 저장, 검색, 분석 할 수 있게 해줍니다. |
Kibana | 다양한 데이터 소스를 위해 미리 구성된 대시보드를 이용해 KPI를 강조 표시하는 라이브 프리젠테이션을 만들고 단일 UI에서 배포 관리 |
Logstash |
확장형 플러그인 에코시스템으로 구성된 동적 데이터 수집 파이프라인 |
Filebeat |
단말장치의 데이터를 전송하는 경량 데이터 수집기 플랫폼 |
8. Reference Architecture
9. 데이터 분석 방법론
1) 로그 설계/정의
2) 데이터품질 확보 (정의한대로 필드 및 파라미터에 적절한 로그가 쌓이는지, 누락되거나 이상한 데이터가 없는지)
3) 분석 프레임 설정 (목적을 명확히 설정하고 적절한 질문을 사전에 작성)
4) 난해한 결과가 나오면 조정
5) 분석 결과를 명확하고 간결하며, 이해하기 쉽게 구성
의미) 유용한 정보를 발견, 결론을 제시, 의사 결정의 목적으로 데이터를 검사, 정제, 변환, 모델링하는 과정을 의미
참고
- 1. https://bcho.tistory.com/1158
- 2. https://cloud.google.com/solutions/exporting-stackdriver-logging-for-security-and-access-analytics?hl=ko
- 3. https://aws.amazon.com/ko/solutions/implementations/centralized-logging/?nc1=h_ls
- 4. https://www.bespinglobal.com/azure-bigdata-analysis-platform/
- 5. https://www.elastic.co/kr/elastic-stack
- 8. https://www.slideshare.net/awskorea/adtech-on-aws-aws
- 9. https://woowabros.github.io/woowabros/2017/07/30/logdata.html