SlideShare uma empresa 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)

Mais conteúdo relacionado

Mais procurados

Openstack Swift overview
Openstack Swift overviewOpenstack Swift overview
Openstack Swift overview
어형 이
 

Mais procurados (20)

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
 
The Elastic ELK Stack
The Elastic ELK StackThe Elastic ELK Stack
The Elastic ELK Stack
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Introduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processingIntroduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processing
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Openstack Swift overview
Openstack Swift overviewOpenstack Swift overview
Openstack Swift overview
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in Netflix
 
ELK introduction
ELK introductionELK introduction
ELK introduction
 

Semelhante 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
 

Semelhante 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
 
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
 
ECMAScript 6의 새로운 것들!
ECMAScript 6의 새로운 것들!ECMAScript 6의 새로운 것들!
ECMAScript 6의 새로운 것들!
 

Último

Último (7)

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
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)