Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Logstash, ElasticSearch, Kibana

3,600 views

Published on

Logstash, ElsticSearch, Kibanba 간략 리뷰

Published in: Technology
  • Login to see the comments

Logstash, ElasticSearch, Kibana

  1. 1. ELK을 사용한 로그 시스템 구축 Cecil
  2. 2. EasticSearch: 확장성이 높은 전문 검색 엔진 Logstash: 로그 수집 엔진 Kibana: ElasticSearch를 위한 Viszualazation Tool
  3. 3. Server Logs 수집 보관 시각화
  4. 4. 왜 ELK인가? 검증된 오픈소스를 이용하여 쉽게 구축할 수 있음 (사용자 추적 및 로그 통계 기능)
  5. 5. Logstash 파이프라인 아키텍처를 가진 로그 수집 엔진 (input -> filter -> output)
  6. 6. input: 로그 소스로 부터 입력 이벤트를 발생 시킴 filter: 이벤트의 중간 프로세싱을 수행(필터, 변환…) output: 처리된 결과를 목적지로 전송
  7. 7. Logstash 실행 ./logstash -f configfile 설정 파일: input, filter, output을 정의 input { // Input plugin file { path => “../apiTrans.log” } } filter { // filter plugin grok { match => {“message” => “%{COMBINEDAPACHELOG}”} } geoip { source => “[clientip]" } } output { // output plugin elasticsearch { hosts => ["http://localhost:9200" ] } }
  8. 8. ElasticSearch 확장성이 뛰어난 전문(full-text) 검색/분석 엔진 (실시간 문서 저장, 검색, 통계 기능 제공)
  9. 9. 아파치 루씬 기반, 실시간 분석, 분산 시스템, 높은 가용성, 전문 검색, JSON 문서 기반, Restful API 지원 Features Elasticsearch
  10. 10. ELK 기본 문서 저장 문서 조회 curl -XPUT 'localhost:9200/customer/externa l/1?pretty' -d ' { "name": "John Doe" }' curl -XGET 'localhost:9200/customer/externa l/1?pretty' { "_index" : "customer", "_type" : "external", "_id" : "1", "_version" : 1, "found" : true, "_source" : { "name": "John Doe" } }
  11. 11. 용어 정리 RDB Database Table Row Column Schema Elastic Search Index Type Documen t Field Mapping
  12. 12. RDB와 유사하게 문서의 분석 방법을 지정 생략할 경우 내부적으로 자동 생성 데이터 입력시: 설정한 분석기로 역 인덱스 생성 데이터 검색시: 검색 키워드를 분석하여 검색 Mapping
  13. 13. Kibana 분석 및 시각화 플랫폼(with ElasticSearch) (Elastic Search 조회 결과를 시각화 함)
  14. 14. 주요 기능 Discover: Elasticsearch 검색 기능 Visualize: 통계 결과 시각화 Dashboard: 위의 2 결과를 사용한 대쉬보드 제공
  15. 15. Visualize Elasticsearch의 aggregation을 사용 •Bucket: 데이터를 그룹화 •metric: 데이터에 대한 통계 값 제공
  16. 16. Metric Bucket 요 청 { "query": {} , "aggs" : { "grades_stats" : { "stats" : { "field" : "grade" } } } } { "query": {} , "aggs" : { "genders" : { "terms" : { "field" : "gender" } } } } 결과 { ... "aggregations": { "grades_stats": { "count": 6, "min": 60, "max": 98, "avg": 78.5, "sum": 471 } } } { ... "aggregations" : { "genders" : { ... "buckets" : [{ "key" : “male", "doc_count" : 10 },{ "key" : “female", "doc_count" : 10 }, ] } } }
  17. 17. Production 환경에서 고려해야할 부분 Broker의 필요성 •Elastic Search가 다운 되거나/부하가 있을 경우 •일회성 로그가 소실될 우려가 있음. •ex) syslog …
  18. 18. 일반적으로 Redis 사용 Production Environment
  19. 19. References • elastic, https://www.elastic.co

×