SlideShare a Scribd company logo
1 of 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)

More Related Content

What's hot

Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into ElasticsearchKnoldus Inc.
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화NAVER D2
 
第一次Elasticsearch就上手
第一次Elasticsearch就上手第一次Elasticsearch就上手
第一次Elasticsearch就上手Aaron King
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.Jurriaan Persyn
 
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라MinKyu Kim
 
Elastic Stack Introduction
Elastic Stack IntroductionElastic Stack Introduction
Elastic Stack IntroductionVikram Shinde
 
Elasticsearch for Data Analytics
Elasticsearch for Data AnalyticsElasticsearch for Data Analytics
Elasticsearch for Data AnalyticsFelipe
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginnersNeil Baker
 
Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBScaleGrid.io
 
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.jsHeeJung Hwang
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackRich Lee
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearchhypto
 
Elastic Search
Elastic SearchElastic Search
Elastic SearchNavule Rao
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search WalkthroughSuhel Meman
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1Maruf Hassan
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearchpmanvi
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]MongoDB
 
Elasticsearch를 활용한 GIS 검색
Elasticsearch를 활용한 GIS 검색Elasticsearch를 활용한 GIS 검색
Elasticsearch를 활용한 GIS 검색ksdc2019
 

What's hot (20)

Elasticsearch Introduction
Elasticsearch IntroductionElasticsearch Introduction
Elasticsearch Introduction
 
Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into Elasticsearch
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
第一次Elasticsearch就上手
第一次Elasticsearch就上手第一次Elasticsearch就上手
第一次Elasticsearch就上手
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
 
Elastic Stack Introduction
Elastic Stack IntroductionElastic Stack Introduction
Elastic Stack Introduction
 
Elasticsearch for Data Analytics
Elasticsearch for Data AnalyticsElasticsearch for Data Analytics
Elasticsearch for Data Analytics
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 
Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDB
 
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Elastic Search
Elastic SearchElastic Search
Elastic Search
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search Walkthrough
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
 
Elasticsearch를 활용한 GIS 검색
Elasticsearch를 활용한 GIS 검색Elasticsearch를 활용한 GIS 검색
Elasticsearch를 활용한 GIS 검색
 

Similar to 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
 

Similar to 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
 

Recently uploaded

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
실험 설계의 평가 방법: 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 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 

Recently uploaded (7)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
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 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

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)