SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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)

Contenu connexe

Tendances

Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나종현 김
 
Elasticsearch development case
Elasticsearch development caseElasticsearch development case
Elasticsearch development case일규 최
 
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...Edureka!
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용흥배 최
 
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기흥래 김
 
Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into ElasticsearchKnoldus Inc.
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1Maruf Hassan
 
Elasticsearch 한글 형태소 분석기 Nori 노리
Elasticsearch 한글 형태소 분석기 Nori 노리Elasticsearch 한글 형태소 분석기 Nori 노리
Elasticsearch 한글 형태소 분석기 Nori 노리종민 김
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]MongoDB
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearchFadel Chafai
 
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Amazon Web Services
 
Redis - Usability and Use Cases
Redis - Usability and Use CasesRedis - Usability and Use Cases
Redis - Usability and Use CasesFabrizio Farinacci
 
Elastic Stack Introduction
Elastic Stack IntroductionElastic Stack Introduction
Elastic Stack IntroductionVikram Shinde
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overviewABC Talks
 
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정PgDay.Seoul
 

Tendances (20)

Redis
RedisRedis
Redis
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나
 
Elasticsearch development case
Elasticsearch development caseElasticsearch development case
Elasticsearch development case
 
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...
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
 
Deep Dive Into Elasticsearch
Deep Dive Into ElasticsearchDeep Dive Into Elasticsearch
Deep Dive Into Elasticsearch
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
 
Elasticsearch 한글 형태소 분석기 Nori 노리
Elasticsearch 한글 형태소 분석기 Nori 노리Elasticsearch 한글 형태소 분석기 Nori 노리
Elasticsearch 한글 형태소 분석기 Nori 노리
 
Elk
Elk Elk
Elk
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
 
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
Best Practices for Running PostgreSQL on AWS - DAT314 - re:Invent 2017
 
Redis - Usability and Use Cases
Redis - Usability and Use CasesRedis - Usability and Use Cases
Redis - Usability and Use Cases
 
Redis introduction
Redis introductionRedis introduction
Redis introduction
 
Elastic Stack Introduction
Elastic Stack IntroductionElastic Stack Introduction
Elastic Stack Introduction
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
 

Similaire à 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
 
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
 
ECMAScript 6의 새로운 것들!
ECMAScript 6의 새로운 것들!ECMAScript 6의 새로운 것들!
ECMAScript 6의 새로운 것들!WooYoung Cho
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 

Similaire à 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
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의 새로운 것들!
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
 

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)