SlideShare ist ein Scribd-Unternehmen logo
1 von 16
CS Tech
Fundamental Of ELK Stack
created : V 1.0 – 17. June (2017)
홍주표 / Rover [CS Security]
목차
 Elasticsearch
 Logstash
 Kibana
 부하 테스트 (Dev zone)
목차
Elasticsearch
 분산형 검색 및 분석 엔진
- GET, PUT, DELETE, POST의 RESTful API를 제공
 Apache Lucene 기반
- 현재 Elasticsearch 버전 (5.x) 을 기준으로 Lucene은 6.x 버전이 적용되어 있음
 기본적으로 모든 데이터(document)는 JSON 형식으로 저장
 데이터 색인(Indexing)을 이용한 전문검색(Full Text Search) 지원
 Elasticsearch 클러스터와 상호작용 할 수 있는 다양한 언어의 라이브러리 지원
- Java, Python, Javascript, PHP, Perl, Ruby
 ‘X-Pack’ 을 통해서 보안, 모니터링 등 부가 기능 제공
Elasticsearch – RDB와의 용어 비교
RDBMS Elasticsearch
저장하다(Insert) 색인하다(Indexing)
Table Type
Schema Mapping
Row Document
Column Field
Database Index(Indice)
Elasticsearch – 설치 및 설정
 설치
- zip이나 tar 파일을 내려 받아 압축 해제로 간단하게 설치
 설정
- elasticsearch.yml 파일에 YAML 형식으로 설정
cluster.name: es-cluster
node.name: es-node
.
.
.
Elasticsearch – Cluster 구조
 Cluster > Node > Shard (Primary, Replica)
- 데이터 교환 : 9300 port
- rest api : 9200 port
Elasticsearch – Node
 Master Node
- 클러스터 상태관리 (Scale in/out)
- Index(indice) 생성/삭제
- shard allocation
 Data Node
- 데이터(document) 저장
- 검색 및 Aggregations 등의 작업 수행
 Ingest Node
- 데이터가 색인되기 전에, 전처리 수행
 Coordination Node
- 클러스터에 인입된 요청을 각 노드로
하고, 결과를 취합하는 역할을 하는 일종
의 ‘로드 밸런싱 노드’
- Scatter Phase : 요청을 데이터 노드로
포워딩. 데이터 노드는 요청을 처리후,
다시 코디네이팅 노드로 반환
- Gather Phase : 반환된 결과를 Reducing
연산을 통해 하나의 Result Set으로 취합
Elasticsearch – Clustering (1)
 Zen Discovery 방식
node 1
(master)
node 2
node 3
discovery.zen.ping.unicast.hosts:
- 10.213.10.2
- 10.213.10.3
10.213.10.1
10.213.10.2
10.213.10.3
elasticsearch.yml
AWS EC2 환경에서는 ‘ec2 discovery’ 플러그인을
설치하여 사용
Elasticsearch – Clustering (2)
 최소 가용 Master Node 설정
- 아래와 같은 수식으로 값 도출.
- 만약 master_eligible_nodes가 3이라면,
.
.
discovery.zen.minimum_master_nodes: [number]
.
.
elasticsearch.yml
𝑚𝑎𝑠𝑡𝑒𝑟_𝑒𝑙𝑖𝑔𝑖𝑏𝑙𝑒_𝑛𝑜𝑑𝑒𝑠
2
+ 1
3
2
+ 1 = 2
Elasticsearch – 데이터 구조
 Index > Type > Document
Elasticsearch – RESTFul API
 간단 예시 - curl 커맨드 사용
- document id를 이용한 단건 검색
- request body를 이용한 Query DSL
Elasticsearch – Analyze
 Request -> Analyze -> Indexing
Logstash
 소개
- 일종의 입/출력 도구
- 다양한 source로부터 입력 받아, 가공 후 출력.
Logstash - Pipeline
 파이프라인 구조
input {
.
.
.
}
filter {
.
.
.
}
output {
.
.
.
}
logstash.conf (파이프라인 설정)
Logstash – 예제
 표준 입력(input) -> 필드 제거(filter) -> 표준 출력(output)
input {
stdin {
codec => json {}
}
}
filter {
mutate {
remove_field => [“some_field”]
}
}
output {
stdout {
codec => rubydebug
}
}
Kibana
 ELK Stack의 시각화 도구
 Elasticsearch Aggregation 기능을 통한 통계 그래프
 ELK Cluster (Elasticsearch, Logstash, Kibana) 모니터링 기능 제공
 Machine Learning 기능 제공 (Beta Ver)

Weitere ähnliche Inhalte

Was ist angesagt?

Intro to elasticsearch
Intro to elasticsearchIntro to elasticsearch
Intro to elasticsearchJoey Wen
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to ElasticsearchRuslan Zavacky
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearchhypto
 
엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나종현 김
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화NAVER D2
 
Elasticsearch From the Bottom Up
Elasticsearch From the Bottom UpElasticsearch From the Bottom Up
Elasticsearch From the Bottom Upfoundsearch
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearchpmanvi
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나종민 김
 
plProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancerplProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancerelliando dias
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
 
Intro To MongoDB
Intro To MongoDBIntro To MongoDB
Intro To MongoDBAlex Sharp
 
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?Juhong Park
 
RabbitMQ 알아보기
RabbitMQ 알아보기RabbitMQ 알아보기
RabbitMQ 알아보기frankradio
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리Junyi Song
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning ElasticsearchAnurag Patel
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 

Was ist angesagt? (20)

Intro to elasticsearch
Intro to elasticsearchIntro to elasticsearch
Intro to elasticsearch
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Elasticsearch Introduction
Elasticsearch IntroductionElasticsearch Introduction
Elasticsearch Introduction
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나
 
InnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick FiguresInnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick Figures
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
Elasticsearch From the Bottom Up
Elasticsearch From the Bottom UpElasticsearch From the Bottom Up
Elasticsearch From the Bottom Up
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
 
plProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancerplProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancer
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
Intro To MongoDB
Intro To MongoDBIntro To MongoDB
Intro To MongoDB
 
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
 
RabbitMQ 알아보기
RabbitMQ 알아보기RabbitMQ 알아보기
RabbitMQ 알아보기
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning Elasticsearch
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 

Ähnlich wie Fundamental of ELK Stack

Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Minchul Jung
 
What’s Evolving in the Elastic Stack
What’s Evolving in the Elastic StackWhat’s Evolving in the Elastic Stack
What’s Evolving in the Elastic StackElasticsearch
 
Elasticsearch development case
Elasticsearch development caseElasticsearch development case
Elasticsearch development case일규 최
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-uploadDong-Hwa jung
 
Spark은 왜 이렇게 유명해지고 있을까?
Spark은 왜 이렇게  유명해지고 있을까?Spark은 왜 이렇게  유명해지고 있을까?
Spark은 왜 이렇게 유명해지고 있을까?KSLUG
 
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기Yungon Park
 
Cassandra education material
Cassandra education materialCassandra education material
Cassandra education materialYoungki Kim
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철KTH, 케이티하이텔
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택KTH
 
AWS없이 만든 AWS와 유사한 데이터 파이프라인
AWS없이 만든  AWS와 유사한 데이터 파이프라인AWS없이 만든  AWS와 유사한 데이터 파이프라인
AWS없이 만든 AWS와 유사한 데이터 파이프라인Kim Hyuk
 
2.apache spark 실습
2.apache spark 실습2.apache spark 실습
2.apache spark 실습동현 강
 
Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircleYongyoon Shin
 
google dinos
google dinosgoogle dinos
google dinosjuhyun
 
1 mysql아키텍쳐 v1
1 mysql아키텍쳐 v11 mysql아키텍쳐 v1
1 mysql아키텍쳐 v1resoliwan
 

Ähnlich wie Fundamental of ELK Stack (20)

Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작
 
What’s Evolving in the Elastic Stack
What’s Evolving in the Elastic StackWhat’s Evolving in the Elastic Stack
What’s Evolving in the Elastic Stack
 
Elasticsearch development case
Elasticsearch development caseElasticsearch development case
Elasticsearch development case
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
elasticsearch
elasticsearchelasticsearch
elasticsearch
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-upload
 
Spark은 왜 이렇게 유명해지고 있을까?
Spark은 왜 이렇게  유명해지고 있을까?Spark은 왜 이렇게  유명해지고 있을까?
Spark은 왜 이렇게 유명해지고 있을까?
 
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기
 
Cassandra education material
Cassandra education materialCassandra education material
Cassandra education material
 
20180206 elasticsearch
20180206 elasticsearch20180206 elasticsearch
20180206 elasticsearch
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
 
AWS없이 만든 AWS와 유사한 데이터 파이프라인
AWS없이 만든  AWS와 유사한 데이터 파이프라인AWS없이 만든  AWS와 유사한 데이터 파이프라인
AWS없이 만든 AWS와 유사한 데이터 파이프라인
 
2.apache spark 실습
2.apache spark 실습2.apache spark 실습
2.apache spark 실습
 
Learning spark ch1-2
Learning spark ch1-2Learning spark ch1-2
Learning spark ch1-2
 
Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircle
 
google dinos
google dinosgoogle dinos
google dinos
 
One-day-codelab
One-day-codelabOne-day-codelab
One-day-codelab
 
1 mysql아키텍쳐 v1
1 mysql아키텍쳐 v11 mysql아키텍쳐 v1
1 mysql아키텍쳐 v1
 

Kürzlich hochgeladen

JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 

Kürzlich hochgeladen (8)

JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 

Fundamental of ELK Stack

  • 1. CS Tech Fundamental Of ELK Stack created : V 1.0 – 17. June (2017) 홍주표 / Rover [CS Security]
  • 2. 목차  Elasticsearch  Logstash  Kibana  부하 테스트 (Dev zone) 목차
  • 3. Elasticsearch  분산형 검색 및 분석 엔진 - GET, PUT, DELETE, POST의 RESTful API를 제공  Apache Lucene 기반 - 현재 Elasticsearch 버전 (5.x) 을 기준으로 Lucene은 6.x 버전이 적용되어 있음  기본적으로 모든 데이터(document)는 JSON 형식으로 저장  데이터 색인(Indexing)을 이용한 전문검색(Full Text Search) 지원  Elasticsearch 클러스터와 상호작용 할 수 있는 다양한 언어의 라이브러리 지원 - Java, Python, Javascript, PHP, Perl, Ruby  ‘X-Pack’ 을 통해서 보안, 모니터링 등 부가 기능 제공
  • 4. Elasticsearch – RDB와의 용어 비교 RDBMS Elasticsearch 저장하다(Insert) 색인하다(Indexing) Table Type Schema Mapping Row Document Column Field Database Index(Indice)
  • 5. Elasticsearch – 설치 및 설정  설치 - zip이나 tar 파일을 내려 받아 압축 해제로 간단하게 설치  설정 - elasticsearch.yml 파일에 YAML 형식으로 설정 cluster.name: es-cluster node.name: es-node . . .
  • 6. Elasticsearch – Cluster 구조  Cluster > Node > Shard (Primary, Replica) - 데이터 교환 : 9300 port - rest api : 9200 port
  • 7. Elasticsearch – Node  Master Node - 클러스터 상태관리 (Scale in/out) - Index(indice) 생성/삭제 - shard allocation  Data Node - 데이터(document) 저장 - 검색 및 Aggregations 등의 작업 수행  Ingest Node - 데이터가 색인되기 전에, 전처리 수행  Coordination Node - 클러스터에 인입된 요청을 각 노드로 하고, 결과를 취합하는 역할을 하는 일종 의 ‘로드 밸런싱 노드’ - Scatter Phase : 요청을 데이터 노드로 포워딩. 데이터 노드는 요청을 처리후, 다시 코디네이팅 노드로 반환 - Gather Phase : 반환된 결과를 Reducing 연산을 통해 하나의 Result Set으로 취합
  • 8. Elasticsearch – Clustering (1)  Zen Discovery 방식 node 1 (master) node 2 node 3 discovery.zen.ping.unicast.hosts: - 10.213.10.2 - 10.213.10.3 10.213.10.1 10.213.10.2 10.213.10.3 elasticsearch.yml AWS EC2 환경에서는 ‘ec2 discovery’ 플러그인을 설치하여 사용
  • 9. Elasticsearch – Clustering (2)  최소 가용 Master Node 설정 - 아래와 같은 수식으로 값 도출. - 만약 master_eligible_nodes가 3이라면, . . discovery.zen.minimum_master_nodes: [number] . . elasticsearch.yml 𝑚𝑎𝑠𝑡𝑒𝑟_𝑒𝑙𝑖𝑔𝑖𝑏𝑙𝑒_𝑛𝑜𝑑𝑒𝑠 2 + 1 3 2 + 1 = 2
  • 10. Elasticsearch – 데이터 구조  Index > Type > Document
  • 11. Elasticsearch – RESTFul API  간단 예시 - curl 커맨드 사용 - document id를 이용한 단건 검색 - request body를 이용한 Query DSL
  • 12. Elasticsearch – Analyze  Request -> Analyze -> Indexing
  • 13. Logstash  소개 - 일종의 입/출력 도구 - 다양한 source로부터 입력 받아, 가공 후 출력.
  • 14. Logstash - Pipeline  파이프라인 구조 input { . . . } filter { . . . } output { . . . } logstash.conf (파이프라인 설정)
  • 15. Logstash – 예제  표준 입력(input) -> 필드 제거(filter) -> 표준 출력(output) input { stdin { codec => json {} } } filter { mutate { remove_field => [“some_field”] } } output { stdout { codec => rubydebug } }
  • 16. Kibana  ELK Stack의 시각화 도구  Elasticsearch Aggregation 기능을 통한 통계 그래프  ELK Cluster (Elasticsearch, Logstash, Kibana) 모니터링 기능 제공  Machine Learning 기능 제공 (Beta Ver)