SlideShare una empresa de Scribd logo
1 de 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)

Más contenido relacionado

La actualidad más candente

Log analysis with the elk stack
Log analysis with the elk stackLog analysis with the elk stack
Log analysis with the elk stack
Vikrant Chauhan
 

La actualidad más candente (20)

검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
 
喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化
 
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
 
The Elastic ELK Stack
The Elastic ELK StackThe Elastic ELK Stack
The Elastic ELK Stack
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elk
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & Kibana
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack Presentation
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Using Logstash, elasticsearch & kibana
Using Logstash, elasticsearch & kibanaUsing Logstash, elasticsearch & kibana
Using Logstash, elasticsearch & kibana
 
Elasticsearch Introduction
Elasticsearch IntroductionElasticsearch Introduction
Elasticsearch Introduction
 
Log analysis with the elk stack
Log analysis with the elk stackLog analysis with the elk stack
Log analysis with the elk stack
 
ELK Stack - Kibana操作實務
ELK Stack - Kibana操作實務ELK Stack - Kibana操作實務
ELK Stack - Kibana操作實務
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 

Similar a Fundamental of ELK Stack

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
 
google dinos
google dinosgoogle dinos
google dinos
juhyun
 

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

Último

Último (8)

실험 설계의 평가 방법: 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-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
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)