엘라스틱서치 바이블 - 3장 인덱스 설계
·
DataPipeline/Elasticsearch
[ 인덱스 설정 ]GET [index_name]/_settings인덱스 설정은 인덱스명 뒤에 _settings를 넣어 GET 메서드로 호출한다. 예제PUT /my_index{ "settings": { "number_of_shards": 2, "number_of_replicas": 2 }}>>> { "acknowledged": true, "shards_acknowledged": true, "index": "my_index"}GET my_index>>>{ "my_index": { "aliases": {}, "mappings": {}, "settings": { "index": { "routing": { "alloc..
엘라스틱서치 바이블 - 2장 기본동작과 구조
·
DataPipeline/Elasticsearch
[ 구조 개괄 ]기본적인 용어문서 : 엘라스틱서치가 저장하고 색인을 생성하는 JSON 문서인덱스 : 문서를 모아 놓은 단위, 인덱스 단위로 검색을 요청샤드 : 인덱스는 그 내용을 여러 샤드로 분리하여 분산 저장하여 고가용성을 제공_id : 인덱스 내 문서에 부여되는 고유한 구분자노드 : 엘라스틱서치 프로세스 하나가 노드 하나를 구성노드의 역할 : 데이터노드, 마스터노드, 조정노드 등 하나의 역할을 맡아 수행클러스터를 관리하는 역할을 마스터노드에서 진행샤드를 보유하고 샤드에 읽기 쓰기 작업을 수행하는 노드는 데이터노드클라이언트의 요청을 받아서 노드에 요청을 분배하는 노드는 조정노드 엘라스틱 클러스터 [ 내부 구조와 루씬 ]루씬 flush문서 색인 요청이 들어오면 루씬은 문서를 분석해서 역색인을 생성한다...
Logstash - pipelines.yml을 통한 다중 파이프라인
·
DataPipeline/Elasticsearch
[ pipelines.yml 역할 ]pipelines.yml 파일은 Logstash에서 여러 파이프라인을 동시에 실행하기 위해 사용되는 설정 파일입니다.단일 Logstash 프로세스에서 여러 파이프라인을 구성하고 실행할 수 있어다양한 데이터 흐름을 병렬로 처리할 수 있습니다. 파이프라인 간 독립성:각 파이프라인은 고유한 ID와 설정 파일을 가지며, Logstash는 이를 독립적으로 실행합니다.특정 파이프라인의 오류가 다른 파이프라인에 영향을 미치지 않습니다.효율적인 리소스 활용:단일 Logstash 인스턴스로 다중 파이프라인을 실행해 리소스를 절약하면서도 병렬 처리가 가능합니다.유지보수 용이성:설정 파일을 독립적으로 관리할 수 있어 유지보수가 용이하며, 확장성이 뛰어납니다. [ 예제 ]Input은 3가지..
Logstash - Json, Mutate, Roby, Date
·
DataPipeline/Elasticsearch
[ JSON 필터 ]JSON 형식 데이터를 파싱하여 Logstash 이벤트의 필드로 변환합니다.JSON 데이터를 Logstash 내부에서 개별 필드로 분리하여 가공 및 분석이 용이하도록 합니다. 입력 데이터{"user": "john_doe", "action": "login", "timestamp": "2024-11-24T10:00:00Z"}Logstash 설정filter { json { source => "message" }}변환 후 출력{ "user": "john_doe", "action": "login", "timestamp": "2024-11-24T10:00:00Z"}JSON 문자열이 각각 user, action, timestamp라는 개별 필드로 변환됩니다.  [ Mutate 필터 ..
Logstach - dissect, grok 필터 예제
·
DataPipeline/Elasticsearch
Logstash 개요Logstash는 플러그인 기반의 데이터 수집 및 처리 엔진으로서, 광범위한 플러그인이 구비되어 다양한 아키텍처에서 데이터를 수집, 처리, 전달할 수 있게 해줍니다. 크게 input, filter, output으로 구성되어 있으며,프로세싱 스레드는 대기열에서 데이터를 마이크로 배치로 읽은 다음,구성된 필터 플러그인을 통해 순서대로 처리합니다.  다운로드# 아래 주소에서 다운로드 가능https://www.elastic.co/kr/downloads/logstash# 다운로드wget https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-darwin-aarch64.tar.gz# 압축풀기tar xfz logstash-8.16.0-da..
Elasticsearch - index template
·
DataPipeline/Elasticsearch
[ Index template ] 보통 날짜별로 elasticsearch에 index를 생성하여 사용하는데 매번 데이터가 들어올 때 마다 mapping을 통해 field type을 지정하지 않기 위해 Index template를 사용한다. 생성 예시 * 일별로 log-20220101, log-20220101 형식으로 인덱스 생성된다. PUT _template/log_template { "order": 0, "index_patterns": [ "log-20*" ], "settings": { "index": { "number_of_shards": "1", "number_of_replicas": "1", } }, "mappings": { "properties": { "user_id": { "type": "lo..
Elasticsearch - Reindex
·
DataPipeline/Elasticsearch
1. Temp index 생성 PUT users_temp 2. Temp index에 타입 Mapping PUT users_temp/_mapping { "properties": { "location": { "type": "geo_point" } } } 3. Re-index를 Temp index에 실행 POST _reindex { "source": { "index": "users" }, "dest": { "index": "users_temp" } } 4. User index 삭제 DELETE /users 5. 다시 User index 생성 PUT users 6. User index mapping PUT users/_mapping { "properties": { "location": { "type": "geo..
Elasticsearch - Opendistro Kibana 유저 확인, 추가, 삭제
·
DataPipeline/Elasticsearch
kibana역시 다른 BI툴과 같이 해당 유저의 Id/Password, Role을 정의할 수 있다.path: /usr/share/elasticsearch/plugins/opendistro_security/securityconfig로그인 유저 설정파일 : internal_users.yml  역할 설정파일 : roles.yml역할 맵핑 설정파일 : roles_mapping.yml tenants관련 설정파일 : tenants.yml   [ user 추가 ] 유저확인1. curl명령어로 유저 확인$ curl -GET https://localhost:9200/_opendistro/_security/api/internalusers/ -u 'admin:admin' --insecure 2. 유저 정보가 저장되어있는 설..
wave35
'DataPipeline/Elasticsearch' 카테고리의 글 목록