SlideShare ist ein Scribd-Unternehmen logo
1 von 21
서비스 모니터링 구현 사례 공유
Realtime Log Monitoring & Analytics Platform – Planet Mon을 지탱하는 기술
허제민, System Software 개발팀, 2016.
1
SK Planet Log 현황 (2016. 8. 18)
• 1일 로그 수집 량
• 30~50 억 건 (3~5 Billion lines)
• Web Access log 10억 건 이상, Application Log 20억 건 이상
• 2~5TB
• 주요 서비스 – Syrup Wallet 10~20억 건, OCB – 1~3억 건
• 수집 대상 서버 수 (agent 설치 서버)
• 전체 서버 7041 대 (일산 843대, 커머스 6198대)
• Log 수집 중인 서버 – 1676 대 (일산 188대, 커머스 1488대)
• 실시간으로 Log를 수집하고 있는 파일 수 – 7370 개
• 적용된 서비스
• OCB, SyrupWallet, SyrupPay, Gifticon, SyrupStore, Syrup Table, Syrup Order, Syrup Style, S
yrup Fashion, Syrup AD, O2O Solution, API Management Platform, FIDO, Search, EventOn
e, 통합쿠폰서비스, OneID, ATMOS, IMPAY, TCloud, TSmartsafe, DMP, PlaceDB, MarketingPl
us…
2
Trend
Modern Log Monitoring & Analytics Platform
• Log 기반 모니터링 - 중앙에서 실시간으로 각 서버의 Log를 수집하고 분석하고 통합 뷰 제공
• Access Log, Application Log, 통합 Log Viewer
• Pattern Alarm, Log Analytics, Visualizations
이미지 출처 - https://dzone.com/articles/getting-started-splunk 이미지 출처 - https://www.sumologic.com/
이미지 출처 - http://www.philipotoole.com/resume/loggly-ui/ 이미지 출처 - https://www.elastic.co/kr/blog/kibana-4-literally
3
Planet Mon (PMon)
SK Planet 전사 서비스 모니터링 플랫폼 https://pmon.skplanet.com/
• Realtime Log Monitoring & Analytics Platform
• Monitoring - Access Log, Application Log, OS System
• Alarm - Pattern Detection, System Metric, Health Check
• Log Viewer - 통합 로그 검색, Tailing
4
Planet Mon 을 지탱하는 기술
Reference Architecture
• ELK (Elasticsearch – Logstash – Kibana)
• www.elastic.co
• Collection
- OS System 정보, Log 파
일
• Preprocessing &Transport
- 데이터를 표준 Format으로 변경하거나
Derived Field 추출과 생성
• Storage & Analytics
- 분산, 확장, 고가용성 보장하는 데이터
저장
- TF-IDF, Aggregation 통계를 동적 생
성
- RESTful API를 통한 QueryDSL 지원
• Visualization
- 시각화를 통한 데이터 분석
5
Planet Mon 을 지탱하는 기술
1. Collection
– 수천대의 서버에서 System Metric과 Log File 데이터를 수집하는 Agent 관리
2. Transport
– Kafka와 Logstash를 활용한 데이터 센터간 안정적인 데이터 전송
3. Log Stream Analytics
– 적정한 기술을 사용한 Log Stream Analytics 서버 개발
– Stream Analytics 결과 기반 실시간 Alarm Detection 서버 개발
4. Storage
– Elasticsearch를 Timeseries DB와 같은 Metric Data 저장소로 사용
– Elasticsearch를 검색 가능한 Log 데이터 통합 저장소로 사용
5. Visualization
– Metric Data기반으로 이미 정의된 다양한 그래프와 Dashboard를 동적으로 생성
– 각 서버의 로그를 통합하여 버벅임 없이 검색할 수 있는 Browser 기반의 Log Viewer
6
Planet Mon 을 지탱하는 기술
1. Collection
– 수천대의 서버에서 System Metric과 Log File 데이터를 수집하는 Agent 관리
LogFileAgent
(CNXLog)
SystemAgent
• Collection
- SystemAgent : System
Metric 정보를 수집하기 위해
collectd 를 관리할 수 있도록
추가 개발
- LogFileAgent : 수집 Log
파일을 감시하기 위해
NXLog에 관리기능과
Kafka 전송 기능을 추가
7
Planet Mon 을 지탱하는 기술
2. Transport
– Kafka와 Logstash를 활용한 데이터 센터간 안정적인 데이터 전송
LogFileAgent
(CNXLog)
SystemAgent
• Collection
- SystemAgent : System
Metric 정보를 수집하기 위해
collectd 를 관리할 수 있도록
추가 개발
- LogFileAgent : 수집 Log
파일을 감시하기 위해
NXLog에 관리기능과
Kafka 전송 기능을 추가
• Transport
- Kafka를 사용하여 센터 내
데이터를 Buffering 하여 제
공
- Logstash를 사용하여 pull
방식으로 데이터를 중앙으
로 전송 하고 최종 데이터를
스토리지에 저장
8
Planet Mon 을 지탱하는 기술
3. Log Stream Analytics
– 적정한 기술을 사용한 Log Stream Analytics 서버 개발
– Stream Analytics 결과 기반 실시간 Alarm Detection 서버 개발
LogFileAgent
(CNXLog)
SystemAgent
ServiceMon
SystemMon
LogMon
AlarmMon
• Collection
- SystemAgent : System
Metric 정보를 수집하기 위해
collectd 를 관리할 수 있도록
추가 개발
- LogFileAgent : 수집 Log
파일을 감시하기 위해
NXLog에 관리기능과
Kafka 전송 기능을 추가
• Transport
- Kafka를 사용하여 센터 내
데이터를 Buffering 하여 제
공
- Logstash를 사용하여 pull
방식으로 데이터를 중앙으
로 전송 하고 최종 데이터를
스토리지에 저장
• Log Stream Analytics
- ServiceMon : access log,
application log 분석
- SystemMon : System Metric
데이터 분석
- AlarmMon : 알람을 전송할지 최종
판단하여 여러 체널로 전송
- LogMon : 원본 Log를 검색이 잘
될 수 있도록 처리 (Multi-Line)
9
Planet Mon 을 지탱하는 기술
4. Storage
– Elasticsearch를 Timeseries DB와 같은 Metric Data 저장소로 사용
– Elasticsearch를 검색 가능한 Log 데이터 통합 저장소로 사용
LogFileAgent
(CNXLog)
SystemAgent
2ndMon
Metric Storage
Indexed Log Storage
ServiceMon
SystemMon
LogMon
AlarmMon
• Storage
- Metric Storage : Time
Series DB 기능으로
Metric 데이터를
aggregation하여 제공
- Indexed Log Storage :
NoSQL 저장소로 원본
Log를 indexing 하여 저장
하고 검색을 제공
• Collection
- SystemAgent : System
Metric 정보를 수집하기 위해
collectd 를 관리할 수 있도록
추가 개발
- LogFileAgent : 수집 Log
파일을 감시하기 위해
NXLog에 관리기능과
Kafka 전송 기능을 추가
• Transport
- Kafka를 사용하여 센터 내
데이터를 Buffering 하여 제
공
- Logstash를 사용하여 pull
방식으로 데이터를 중앙으
로 전송 하고 최종 데이터를
스토리지에 저장
• Log Stream Analytics
- ServiceMon : access log,
application log 분석
- SystemMon : System Metric
데이터 분석
- AlarmMon : 알람을 전송할지 최종
판단하여 여러 체널로 전송
- LogMon : 원본 Log를 검색이 잘
될 수 있도록 처리 (Multi-Line)
- 2ndMon : Batch Job 수행
(service, hourly, daily)
10
LogFileAgent
(CNXLog)
SystemAgent
Planet Mon 을 지탱하는 기술
5. Visualization
– Metric Data기반으로 화려하고 다양한 그래프와 Dashboard를 동적으로 생성
– 각 서버의 로그를 통합하여 버벅임 없이 검색할 수 있는 Browser 기반의 Log Viewer
2ndMon
PlanetMon
Frontend
LogMon
Frontend
Metric Storage
Indexed Log Storage
• Visualization
- PlanetMon Frontend : 서비
스별로 데쉬보드를 확인하고 각
종 알람 설정과 트랜드를 분석 할
수 있도록 제공 함
- LogMon Frontend : 원본 Log
를 통합하여 검색할 수있도록 제
공
• Storage
- Metric Storage : Time
Series DB 기능으로
Metric 데이터를
aggregation하여 제공
- Indexed Log Storage :
NoSQL 저장소로 원본
Log를 indexing 하여 저장
하고 검색을 제공
• Collection
- SystemAgent : System
Metric 정보를 수집하기 위해
collectd 를 관리할 수 있도록
추가 개발
- LogFileAgent : 수집 Log
파일을 감시하기 위해
NXLog에 관리기능과
Kafka 전송 기능을 추가
• Transport
- Kafka를 사용하여 센터 내
데이터를 Buffering 하여 제
공
- Logstash를 사용하여 pull
방식으로 데이터를 중앙으
로 전송 하고 최종 데이터를
스토리지에 저장
ServiceMon
SystemMon
LogMon
AlarmMon
• Log Stream Analytics
- ServiceMon : access log,
application log 분석
- SystemMon : System Metric
데이터 분석
- AlarmMon : 알람을 전송할지 최종
판단하여 여러 체널로 전송
- LogMon : 원본 Log를 검색이 잘
될 수 있도록 처리 (Multi-Line)
- 2ndMon : Batch Job 수행
(service, hourly, daily)
11
PMon Log Stream Analytics
Open Source Solution ?
12
PMon Log Stream Analytics
Open Source Solution ?
요구 사항
• Log Line 별로 기본 통계 추출
- 호스트 단위의 Log Line 에서 특정 값을 찾아서 word count, min, max, sum, avg 하는 수준
- 결과에 대한 실시간 Alarm
• 처리 성능의 수평확장과 안정성이 보장 되어야 함
- Kafka Consumer Cluster
• 운영 편의성
- Kafka Consumer Cluster
13
Planet Mon Log Stream Analytics
적정한 Log Stream Analytics Server 개발
• Opensource 솔루션을 사용하는 것이 맞는 것인가?
• 해결하려는 것에 적절한 가?
• Language, Framework 학습 시간은?
• Production 에서 Service를 제공할 수 있도록 운영 가능한가?
• 자원은 충분 한가?
• 보유 기술 : Kafka Consumer Cluster, Modern Java, Spring Boot
출처 : http://blog.besunny.com/?p=20844
출처 : http://egloos.zum.com/cklist/v/5515377
14
Log Stream Analytics Server
Kafka Consumer Cluster
제공 기능
• Scale-out - Partition의 수만큼 Consumer 수를 늘려가며 병렬로 처리할 수 있다.
• Failover - Consumer가 죽으면 다른쪽 Consumer로 자동으로 보내준다.
• Exactly once - Consumer Group 내 consumer 중 1명에게 1번만 전달 한다.
주의 사항
• Kafka Producer에서 메시지 전송시 순서 보장을 하려면 Message Key 를 동일 하게 지정해서 전송 해야만
한다
• Consumer에 Partition이 할당 되어 전송한다. 누군가 죽거나 추가 되면 그때부터는 다른 Consumer가
Partition을 할당 받게 됨
• Partition 내에는 여러 서버에서 들어온 정보가 혼합 되기때문에 Producer 단위로만 순서가 보장 된다
• 먼저 데이터를 전송했다고 해서 먼저 읽는 것은 아님
15
Log Stream Analytics Server
Modern Java (Java 8 이후)
• Lambda
• x -> f(x)
• Stream 중간에 넣어서 데이터를 가지고 새로운 데이터를 만들면서 처리
• Stream API
• Aggregate operations
• filter, map, limit, reduce, find, match
• sort 후 limit을 사용하여 top 을 구할 수 있음
• [Int, Long, Double]SummaryStatistics
• 숫자형 Stream 에서 바로 min, max, count, sum, average 를 구할 수 있음
• combine 를 사용하여 다른 SummaryStatistics와 쉽게 합칠 수 있음
• 예 - Arrays.asList(9, 10, 3, 4, 7, 3, 4).stream().mapToInt(i -> i*i).distinct().filter(i->i>4) .summaryStatistics()
;
• CompletableFuture
• Lambda와 함께 병렬로 처리할 것 같단하게 수행
• 예 - CompletableFuture<String> future = CompletableFuture.supplyAsync(() ->
longRunningTask(params));
16
Log Stream Analytics Server
Spring Boot
• Actuator
• Http endpoints (Rest API), JMX, remote shell 등을 이용하여구체적인 동작(관리와 모니터링)
으로 변환하는 기능을 말함.
• http://www.slideshare.net/JeminHuh/spring-boot-backend
17
Log Stream Analytics Server
ServiceMon Process
• InputLogLine
• Kafka에서 읽은 데이터를 Host나 Type별로 Line List로 만듬
• KeyTypeExpression
• Derived Field 추출과 동시에 데이터 Type을 지정
• Logstash에서 사용하는 Grok 표기법에서 idea를 얻음
• https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.htm
• KeyTypeExpression 예 : %{id:WORD} [%{logLevel:WORD}] %{date:DATE} %{method:WORD} - %{message:TEXT}
• StatisticsAccumulator
• Derived Field의 Type에 따라 1분단위로 표준 통계 형태로 저장 함
• WORD - value 값 별로 count 함
• TEXT - Statistics 에서는 버리는 거나, Custom 하게 추가로 처리할 Field에 지정 함
• NUMBER - 입력되는 number List 를 수집하고 Aggregation을 통해 통계값을 (min, max, sum, count, avg)을 생성
• DATE – 시간 Format을 인식하여 처리 함
• Output Data
• 1분 단위로 생성된 통계를 활용해 여러가지 최종 Metric Data를 생성 함
• Metric Exporter
• Kafka Producer로 Metric Data를 Type에 지정된 Kafka topic으로 전송
* 로그 데이터 분석 방법 및 장치, 출원 번호 10-2015-0148452
- KeyTypeExpression과 Type별로 표준 통계를 추출하여 데이터를 생성하는 방법에 관한 특허
Input
LogLine
KeyType
Expression
Statistics
Accumulator
Output
DataBuilder
Metric
Exporter
18
Planet Mon Architecture
Kappa Architecture
• http://novoj.github.io/reveal.js/kappa-architecture.html
• Input : Kafka
• Processing : SystemMon, ServiceMon, AlarmMon, LogMon
• Serving : Elasticsearch
• App : PMon Frontend, LMon Frontend
19
기술적 내용이 참 많은데…
PMon 에 관해 참으로 놀랄 만한 개발, 운영 노하우를 보유하였으
나,
그것을 다 설명하기에는 @tech 시간이 너무나 짧다.
- 수천대의 서버에 설치되는 System Metric, Log 수집 Agent 관리 방법
- 데이터 센터간의 안정적인 데이터 전송을 위한 Kafka, Logstash를 활용한 운영 방법
- Timeseries DB 로 사용하는 Elasticsearch 운영 방법
- 일 5TB 로그가 실시간으로 쌓이는 Elasticsearch 운영 방법
- PMon, LogMon Frontend 개발 방법
- Stream Data 처리 이슈 관리
- 정말 너무 많이 들어오면…
- 장애시 데이터를 복구를 할 수 있나?
20
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
Amazon Web Services Korea
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 

Was ist angesagt? (20)

Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
 
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
 
AWS Builders - Industry Edition: DevSecOps on AWS - 시작은 IAM 부터
AWS Builders - Industry Edition: DevSecOps on AWS - 시작은 IAM 부터AWS Builders - Industry Edition: DevSecOps on AWS - 시작은 IAM 부터
AWS Builders - Industry Edition: DevSecOps on AWS - 시작은 IAM 부터
 
はじめよう DynamoDB ハンズオン
はじめよう DynamoDB ハンズオンはじめよう DynamoDB ハンズオン
はじめよう DynamoDB ハンズオン
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
 
CloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようCloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しよう
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
 
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션  - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
대용량 트래픽을 처리하는 최적의 서버리스 애플리케이션 - 안효빈, 구성완 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 

Ähnlich wie 서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 지탱하는 기술

플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
choi kyumin
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
Gruter
 

Ähnlich wie 서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 지탱하는 기술 (20)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
 
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
 
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 SeoulElastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
 
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
[2018] NHN 모니터링의 현재와 미래 for 인프라 엔지니어
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
 
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfSK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
센서데이터_수집_모니터링_시스템_개발
센서데이터_수집_모니터링_시스템_개발센서데이터_수집_모니터링_시스템_개발
센서데이터_수집_모니터링_시스템_개발
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
 
Service mesh(istio) monitoring
Service mesh(istio) monitoringService mesh(istio) monitoring
Service mesh(istio) monitoring
 
Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석
 
3. stream api
3. stream api3. stream api
3. stream api
 

서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 지탱하는 기술

  • 1. 서비스 모니터링 구현 사례 공유 Realtime Log Monitoring & Analytics Platform – Planet Mon을 지탱하는 기술 허제민, System Software 개발팀, 2016.
  • 2. 1 SK Planet Log 현황 (2016. 8. 18) • 1일 로그 수집 량 • 30~50 억 건 (3~5 Billion lines) • Web Access log 10억 건 이상, Application Log 20억 건 이상 • 2~5TB • 주요 서비스 – Syrup Wallet 10~20억 건, OCB – 1~3억 건 • 수집 대상 서버 수 (agent 설치 서버) • 전체 서버 7041 대 (일산 843대, 커머스 6198대) • Log 수집 중인 서버 – 1676 대 (일산 188대, 커머스 1488대) • 실시간으로 Log를 수집하고 있는 파일 수 – 7370 개 • 적용된 서비스 • OCB, SyrupWallet, SyrupPay, Gifticon, SyrupStore, Syrup Table, Syrup Order, Syrup Style, S yrup Fashion, Syrup AD, O2O Solution, API Management Platform, FIDO, Search, EventOn e, 통합쿠폰서비스, OneID, ATMOS, IMPAY, TCloud, TSmartsafe, DMP, PlaceDB, MarketingPl us…
  • 3. 2 Trend Modern Log Monitoring & Analytics Platform • Log 기반 모니터링 - 중앙에서 실시간으로 각 서버의 Log를 수집하고 분석하고 통합 뷰 제공 • Access Log, Application Log, 통합 Log Viewer • Pattern Alarm, Log Analytics, Visualizations 이미지 출처 - https://dzone.com/articles/getting-started-splunk 이미지 출처 - https://www.sumologic.com/ 이미지 출처 - http://www.philipotoole.com/resume/loggly-ui/ 이미지 출처 - https://www.elastic.co/kr/blog/kibana-4-literally
  • 4. 3 Planet Mon (PMon) SK Planet 전사 서비스 모니터링 플랫폼 https://pmon.skplanet.com/ • Realtime Log Monitoring & Analytics Platform • Monitoring - Access Log, Application Log, OS System • Alarm - Pattern Detection, System Metric, Health Check • Log Viewer - 통합 로그 검색, Tailing
  • 5. 4 Planet Mon 을 지탱하는 기술 Reference Architecture • ELK (Elasticsearch – Logstash – Kibana) • www.elastic.co • Collection - OS System 정보, Log 파 일 • Preprocessing &Transport - 데이터를 표준 Format으로 변경하거나 Derived Field 추출과 생성 • Storage & Analytics - 분산, 확장, 고가용성 보장하는 데이터 저장 - TF-IDF, Aggregation 통계를 동적 생 성 - RESTful API를 통한 QueryDSL 지원 • Visualization - 시각화를 통한 데이터 분석
  • 6. 5 Planet Mon 을 지탱하는 기술 1. Collection – 수천대의 서버에서 System Metric과 Log File 데이터를 수집하는 Agent 관리 2. Transport – Kafka와 Logstash를 활용한 데이터 센터간 안정적인 데이터 전송 3. Log Stream Analytics – 적정한 기술을 사용한 Log Stream Analytics 서버 개발 – Stream Analytics 결과 기반 실시간 Alarm Detection 서버 개발 4. Storage – Elasticsearch를 Timeseries DB와 같은 Metric Data 저장소로 사용 – Elasticsearch를 검색 가능한 Log 데이터 통합 저장소로 사용 5. Visualization – Metric Data기반으로 이미 정의된 다양한 그래프와 Dashboard를 동적으로 생성 – 각 서버의 로그를 통합하여 버벅임 없이 검색할 수 있는 Browser 기반의 Log Viewer
  • 7. 6 Planet Mon 을 지탱하는 기술 1. Collection – 수천대의 서버에서 System Metric과 Log File 데이터를 수집하는 Agent 관리 LogFileAgent (CNXLog) SystemAgent • Collection - SystemAgent : System Metric 정보를 수집하기 위해 collectd 를 관리할 수 있도록 추가 개발 - LogFileAgent : 수집 Log 파일을 감시하기 위해 NXLog에 관리기능과 Kafka 전송 기능을 추가
  • 8. 7 Planet Mon 을 지탱하는 기술 2. Transport – Kafka와 Logstash를 활용한 데이터 센터간 안정적인 데이터 전송 LogFileAgent (CNXLog) SystemAgent • Collection - SystemAgent : System Metric 정보를 수집하기 위해 collectd 를 관리할 수 있도록 추가 개발 - LogFileAgent : 수집 Log 파일을 감시하기 위해 NXLog에 관리기능과 Kafka 전송 기능을 추가 • Transport - Kafka를 사용하여 센터 내 데이터를 Buffering 하여 제 공 - Logstash를 사용하여 pull 방식으로 데이터를 중앙으 로 전송 하고 최종 데이터를 스토리지에 저장
  • 9. 8 Planet Mon 을 지탱하는 기술 3. Log Stream Analytics – 적정한 기술을 사용한 Log Stream Analytics 서버 개발 – Stream Analytics 결과 기반 실시간 Alarm Detection 서버 개발 LogFileAgent (CNXLog) SystemAgent ServiceMon SystemMon LogMon AlarmMon • Collection - SystemAgent : System Metric 정보를 수집하기 위해 collectd 를 관리할 수 있도록 추가 개발 - LogFileAgent : 수집 Log 파일을 감시하기 위해 NXLog에 관리기능과 Kafka 전송 기능을 추가 • Transport - Kafka를 사용하여 센터 내 데이터를 Buffering 하여 제 공 - Logstash를 사용하여 pull 방식으로 데이터를 중앙으 로 전송 하고 최종 데이터를 스토리지에 저장 • Log Stream Analytics - ServiceMon : access log, application log 분석 - SystemMon : System Metric 데이터 분석 - AlarmMon : 알람을 전송할지 최종 판단하여 여러 체널로 전송 - LogMon : 원본 Log를 검색이 잘 될 수 있도록 처리 (Multi-Line)
  • 10. 9 Planet Mon 을 지탱하는 기술 4. Storage – Elasticsearch를 Timeseries DB와 같은 Metric Data 저장소로 사용 – Elasticsearch를 검색 가능한 Log 데이터 통합 저장소로 사용 LogFileAgent (CNXLog) SystemAgent 2ndMon Metric Storage Indexed Log Storage ServiceMon SystemMon LogMon AlarmMon • Storage - Metric Storage : Time Series DB 기능으로 Metric 데이터를 aggregation하여 제공 - Indexed Log Storage : NoSQL 저장소로 원본 Log를 indexing 하여 저장 하고 검색을 제공 • Collection - SystemAgent : System Metric 정보를 수집하기 위해 collectd 를 관리할 수 있도록 추가 개발 - LogFileAgent : 수집 Log 파일을 감시하기 위해 NXLog에 관리기능과 Kafka 전송 기능을 추가 • Transport - Kafka를 사용하여 센터 내 데이터를 Buffering 하여 제 공 - Logstash를 사용하여 pull 방식으로 데이터를 중앙으 로 전송 하고 최종 데이터를 스토리지에 저장 • Log Stream Analytics - ServiceMon : access log, application log 분석 - SystemMon : System Metric 데이터 분석 - AlarmMon : 알람을 전송할지 최종 판단하여 여러 체널로 전송 - LogMon : 원본 Log를 검색이 잘 될 수 있도록 처리 (Multi-Line) - 2ndMon : Batch Job 수행 (service, hourly, daily)
  • 11. 10 LogFileAgent (CNXLog) SystemAgent Planet Mon 을 지탱하는 기술 5. Visualization – Metric Data기반으로 화려하고 다양한 그래프와 Dashboard를 동적으로 생성 – 각 서버의 로그를 통합하여 버벅임 없이 검색할 수 있는 Browser 기반의 Log Viewer 2ndMon PlanetMon Frontend LogMon Frontend Metric Storage Indexed Log Storage • Visualization - PlanetMon Frontend : 서비 스별로 데쉬보드를 확인하고 각 종 알람 설정과 트랜드를 분석 할 수 있도록 제공 함 - LogMon Frontend : 원본 Log 를 통합하여 검색할 수있도록 제 공 • Storage - Metric Storage : Time Series DB 기능으로 Metric 데이터를 aggregation하여 제공 - Indexed Log Storage : NoSQL 저장소로 원본 Log를 indexing 하여 저장 하고 검색을 제공 • Collection - SystemAgent : System Metric 정보를 수집하기 위해 collectd 를 관리할 수 있도록 추가 개발 - LogFileAgent : 수집 Log 파일을 감시하기 위해 NXLog에 관리기능과 Kafka 전송 기능을 추가 • Transport - Kafka를 사용하여 센터 내 데이터를 Buffering 하여 제 공 - Logstash를 사용하여 pull 방식으로 데이터를 중앙으 로 전송 하고 최종 데이터를 스토리지에 저장 ServiceMon SystemMon LogMon AlarmMon • Log Stream Analytics - ServiceMon : access log, application log 분석 - SystemMon : System Metric 데이터 분석 - AlarmMon : 알람을 전송할지 최종 판단하여 여러 체널로 전송 - LogMon : 원본 Log를 검색이 잘 될 수 있도록 처리 (Multi-Line) - 2ndMon : Batch Job 수행 (service, hourly, daily)
  • 12. 11 PMon Log Stream Analytics Open Source Solution ?
  • 13. 12 PMon Log Stream Analytics Open Source Solution ? 요구 사항 • Log Line 별로 기본 통계 추출 - 호스트 단위의 Log Line 에서 특정 값을 찾아서 word count, min, max, sum, avg 하는 수준 - 결과에 대한 실시간 Alarm • 처리 성능의 수평확장과 안정성이 보장 되어야 함 - Kafka Consumer Cluster • 운영 편의성 - Kafka Consumer Cluster
  • 14. 13 Planet Mon Log Stream Analytics 적정한 Log Stream Analytics Server 개발 • Opensource 솔루션을 사용하는 것이 맞는 것인가? • 해결하려는 것에 적절한 가? • Language, Framework 학습 시간은? • Production 에서 Service를 제공할 수 있도록 운영 가능한가? • 자원은 충분 한가? • 보유 기술 : Kafka Consumer Cluster, Modern Java, Spring Boot 출처 : http://blog.besunny.com/?p=20844 출처 : http://egloos.zum.com/cklist/v/5515377
  • 15. 14 Log Stream Analytics Server Kafka Consumer Cluster 제공 기능 • Scale-out - Partition의 수만큼 Consumer 수를 늘려가며 병렬로 처리할 수 있다. • Failover - Consumer가 죽으면 다른쪽 Consumer로 자동으로 보내준다. • Exactly once - Consumer Group 내 consumer 중 1명에게 1번만 전달 한다. 주의 사항 • Kafka Producer에서 메시지 전송시 순서 보장을 하려면 Message Key 를 동일 하게 지정해서 전송 해야만 한다 • Consumer에 Partition이 할당 되어 전송한다. 누군가 죽거나 추가 되면 그때부터는 다른 Consumer가 Partition을 할당 받게 됨 • Partition 내에는 여러 서버에서 들어온 정보가 혼합 되기때문에 Producer 단위로만 순서가 보장 된다 • 먼저 데이터를 전송했다고 해서 먼저 읽는 것은 아님
  • 16. 15 Log Stream Analytics Server Modern Java (Java 8 이후) • Lambda • x -> f(x) • Stream 중간에 넣어서 데이터를 가지고 새로운 데이터를 만들면서 처리 • Stream API • Aggregate operations • filter, map, limit, reduce, find, match • sort 후 limit을 사용하여 top 을 구할 수 있음 • [Int, Long, Double]SummaryStatistics • 숫자형 Stream 에서 바로 min, max, count, sum, average 를 구할 수 있음 • combine 를 사용하여 다른 SummaryStatistics와 쉽게 합칠 수 있음 • 예 - Arrays.asList(9, 10, 3, 4, 7, 3, 4).stream().mapToInt(i -> i*i).distinct().filter(i->i>4) .summaryStatistics() ; • CompletableFuture • Lambda와 함께 병렬로 처리할 것 같단하게 수행 • 예 - CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> longRunningTask(params));
  • 17. 16 Log Stream Analytics Server Spring Boot • Actuator • Http endpoints (Rest API), JMX, remote shell 등을 이용하여구체적인 동작(관리와 모니터링) 으로 변환하는 기능을 말함. • http://www.slideshare.net/JeminHuh/spring-boot-backend
  • 18. 17 Log Stream Analytics Server ServiceMon Process • InputLogLine • Kafka에서 읽은 데이터를 Host나 Type별로 Line List로 만듬 • KeyTypeExpression • Derived Field 추출과 동시에 데이터 Type을 지정 • Logstash에서 사용하는 Grok 표기법에서 idea를 얻음 • https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.htm • KeyTypeExpression 예 : %{id:WORD} [%{logLevel:WORD}] %{date:DATE} %{method:WORD} - %{message:TEXT} • StatisticsAccumulator • Derived Field의 Type에 따라 1분단위로 표준 통계 형태로 저장 함 • WORD - value 값 별로 count 함 • TEXT - Statistics 에서는 버리는 거나, Custom 하게 추가로 처리할 Field에 지정 함 • NUMBER - 입력되는 number List 를 수집하고 Aggregation을 통해 통계값을 (min, max, sum, count, avg)을 생성 • DATE – 시간 Format을 인식하여 처리 함 • Output Data • 1분 단위로 생성된 통계를 활용해 여러가지 최종 Metric Data를 생성 함 • Metric Exporter • Kafka Producer로 Metric Data를 Type에 지정된 Kafka topic으로 전송 * 로그 데이터 분석 방법 및 장치, 출원 번호 10-2015-0148452 - KeyTypeExpression과 Type별로 표준 통계를 추출하여 데이터를 생성하는 방법에 관한 특허 Input LogLine KeyType Expression Statistics Accumulator Output DataBuilder Metric Exporter
  • 19. 18 Planet Mon Architecture Kappa Architecture • http://novoj.github.io/reveal.js/kappa-architecture.html • Input : Kafka • Processing : SystemMon, ServiceMon, AlarmMon, LogMon • Serving : Elasticsearch • App : PMon Frontend, LMon Frontend
  • 20. 19 기술적 내용이 참 많은데… PMon 에 관해 참으로 놀랄 만한 개발, 운영 노하우를 보유하였으 나, 그것을 다 설명하기에는 @tech 시간이 너무나 짧다. - 수천대의 서버에 설치되는 System Metric, Log 수집 Agent 관리 방법 - 데이터 센터간의 안정적인 데이터 전송을 위한 Kafka, Logstash를 활용한 운영 방법 - Timeseries DB 로 사용하는 Elasticsearch 운영 방법 - 일 5TB 로그가 실시간으로 쌓이는 Elasticsearch 운영 방법 - PMon, LogMon Frontend 개발 방법 - Stream Data 처리 이슈 관리 - 정말 너무 많이 들어오면… - 장애시 데이터를 복구를 할 수 있나?

Hinweis der Redaktion

  1. 3~5만 line / sec
  2. 스토리지 중심의 아키텍처임 엘라스틱에서 저장과 분석을 함 엘라스틱이 많이 필요함 수백대 서버 규모에서는 가능함
  3. 서버 resource 사용 문제 때문에 c로 개발된 opensource 기반
  4. Opensouce를 사용하지 않고 직접 개발 함
  5. 제가 구현한 Pmon의 Log Stream Analytics 부분에 대해 상세하게 알아보기 전에 왜 Opensource를 쓰지 않았을까?
  6. 필요로 하는 요구사항이 글로벌하게 연관관계를 분석하거나 하지 않음
  7. 고민을 함 scala 배워야하나? Yarn 으로 관리 해야하나?
  8. Java에서 Lambda 표기법은 Method가 하나인 Anonymous Class (익명 클래스) 구현을 간단하게 바꿨다고 생각하면 이해하기 편하다. summaryStatistics 좋다.
  9. 스트림으로 들어오는 데이터를 시간 기준으로 Reduction(축소) 하여 1분단위의 표준 통계 형태로 저장 함 표준 통계는 일종의 DW/BI 쪽에서 말하는 Dada cube aggregation 이라고도 볼 수 있는 형태임
  10. Lambda Architecture 에서 스트림 부분 LinkedIn - Kafka를 만듬 , 스트림 분야 기술을 이끌고 있음 Kafka로 1.4 trillion message (1조) per day 를 전송 중임 – 우리의 200배 수준 https://engineering.linkedin.com/blog/2016/04/kafka-ecosystem-at-linkedin Kappa 아키텍처를 2014년에 나옴 https://www.oreilly.com/ideas/questioning-the-lambda-architecture 그리스어에서 따옴