ElasticSearch12 [ELK] 12. elasticsearch 샤드 Elastisearch에서는 단일 데이터 단위를 도큐먼트라고 하며 이 도큐먼트를 모아놓은 집합을 인덱스라고 합니다. 인덱스는 RDB에서 테이블과 같은 개념이라고 보시면 됩니다. 여기선 데이터를 Elasticsearch에 저장하는 행위는 색인, 그리고 도큐먼트의 집합 단위는 인덱스라고 하겠습니다. 인덱스는 기본적으로 샤드라는 단위로 분리되고 각 노드에 분산되어 저장됩니다. 샤드는 루씬 기반의 단일 검색 인스턴스입니다. 다음은 하나의 인덱스가 5개의 샤드로 저장되도록 설정한 예제입니다. 프라이머리 샤드(Primary Shard)와 복제본(Replica) 인덱스를 생성할 때 별도의 설정이 없다면 디폴트로 1개의 샤드로 인덱스가 구성됩니다. 그리고 클러스터에 노드를 추가하면 샤드들이 각 노드들로 분산되고 디폴트.. 2022. 7. 4. [ELK] 11. elasticsearch 인덱스 재색인 (2) - 인덱스 템플릿과 스크립트 사용 인덱스 템플릿 아파치 로그 형태의 데이터를 같은 매핑 형태로 넣어주기 위해서 _index_template 활용합니다. PUT /_index_template/mylogs { "index_patterns" : [ "mylogs*" ], "priority" : 10, "template": { "mappings": { "properties" : { {재설정한 필드 매핑} } } } } mylogs라는 인덱스 템플릿 확인 - 지우는 건 DELETE GET _index_template/mylogs DELETE _index_template/mylogs 인덱스 재색인 인덱스 재색인을 위해 source에 apachelog-*의 이름의 파일들을 전체 적용합니다. 주의할 점은 dest에 mylogs-*로 하면 되지 않을까?.. 2022. 7. 3. [ELK] 10. elasticsearch 인덱스 재색인 (1) - 필드 매핑 개선 필드 매핑 개선 전 포스팅까지 진행했다면 아파치 로그 데이터들을 elasticsearch에 모두 다운로드했다고 가정하겠습니다. apachelog-{yyyy.MM.dd} 인덱스들 중 "apachelog-2020-08-08" 사용하겠습니다. _mapping 으로 자동 생성된 필드들의 정보 확인 GET apachelog-2020-08-08/_search GET apachelog-2020-08-08/_mapping - 필드들의 타입과 속성들을 알 수 있습니다. 그리고 적합하지 않은 타입의 필드들을 개선할 필요가 있습니다. 필드 매핑 개선 적합하지 않은 타입의 필드들을 개선한 새로운 인덱스를 생성하겠습니다. 1. @timestamp : date(날짜) 필드 2. auth : keyword 3. clientip :.. 2022. 7. 1. [ELK] 9. filebeat - logstash - elasticsearch beats 2022.06.21 - [ELK stack] - [ELK] 1. Elastic Stack [ELK] 1. Elastic Stack 필자는 파이썬(python, numpy, pandas, matplotlib, plotly)을 활용한 데이터 전처리, 피처 엔지니어링, 모델링을 진행한 경험이 다수 있지만, 서비스 단계에서 사용하는 데이터 파이프라인은 경험해보지 못 wnstjrdl.tistory.com filebeat 전 포스팅에서 아파치 웹 로그 데이터를 받았기 때문에, 그것을 활용하기 위해 여러 beats 중 filebeat를 사용하겠습니다. 2022.06.29 - [ELK stack] - [ELK] 8. Logstash 실행 및 filter 설정 [ELK] 8. Logstash 실행 및 filt.. 2022. 6. 30. [ELK] 7. elasticsearch 인덱스 매핑과 데이터 타입(2) - 날짜, 객체, 위치 정보 날짜 - Date Elasticsearch 에서 날짜 타입은 ISO8601 형식을 따라 입력을 합니다. 일반적으로 다음과 같은 형태로 입력된 경우 자동으로 날짜 타입으로 인식이 됩니다. 위와 같은 ISO8601 형식이 아니라 "2019/06/12 12:10:30" 와 같이 입력하면 보통은 text, keyword 로 저장됩니다. 이 외에도 1550282065513 와 같이 long 타입의 정수인 epoch_millis 형태의 입력도 가능합니다. epoch_millis 는 1970-01-01 00:00:00 부터의 시간을 밀리초 단위로 카운트 한 값입니다. 필드가 date 형으로 정의된 이후에는 long 타입의 정수를 입력하면 날짜 형태로 저장이 가능합니다. "2019/06/10 12:10:30" 같은 형.. 2022. 6. 28. [ELK] 6. elasticsearch 인덱스 매핑과 데이터 타입(1) - 문자열, 숫자 동적(Dynamic) 매핑 Elasticsearch 를 활용하면서 가장 손이 많이 가는 작업이 매핑 설정입니다. Elasticsearch 는 동적 매핑을 지원하기 때문에 미리 정의하지 않아도 인덱스에 도큐먼트를 새로 추가하면 자동으로 매핑이 생성됩니다. # books 인덱스가 없는 상태에서 도큐먼트 입력 PUT books/_doc/1 { "title": "Romeo and Juliet", "author": "William Shakespeare", "category": "Tragedies", "publish_date": "1562-12-01T00:00:00", "pages": 125 } books 인덱스의 매핑을 확인해 보면 각 필드의 매핑이 자동으로 생성된 것을 확인할 수 있습니다. GET books/_.. 2022. 6. 28. 이전 1 2 다음