Elasticsearch
-
APM AgentElasticsearch 2025. 5. 20. 20:52
Elasticsearch에 Http Request를 보낼 때 계측하여 모니터링 할 수 있도록 APM을 테스트 및 개발중이다.복기 겸,, 개발 가능성 유무를 확고히 하기 위해 기록..합니다. 테스트 환경 : 각 노드에 Elastic Agent가 설치 Elastic APM Fleet 이란? Agent Server를 관리하며 정책을 부여 Elastic APM 이란?incoming requests, database queries, caches, external HTTP request, ... 등등 수집디버깅 시 발생하는 로그 수집 Elastic APM은 APM Agent 역할을 함과 동시에 APM Server 역할도 가능하다. Kibana에서 확인할 수 있는 로그 저장소 - data_streamAPM은 Metr..
-
elasticsearch 한글 형태소 분석사전Elasticsearch 2025. 4. 1. 20:51
기본 개념https://esbook.kimjmin.net/06-text-analysis/6.7-stemming/6.7.2-nori 6.7.2 노리 (nori) 한글 형태소 분석기 | Elastic 가이드북이 문서의 허가되지 않은 무단 복제나 배포 및 출판을 금지합니다. 본 문서의 내용 및 도표 등을 인용하고자 하는 경우 출처를 명시하고 김종민(kimjmin@gmail.com)에게 사용 내용을 알려주시기 바랍esbook.kimjmin.net위 글에 따르면 Nori는 한국어 텍스트 분석을 위해 설계되었으며 Elasticsearch 공식 분석기 입니다. 주요 특징- 일반 명사, 고유 명사만 등록 ( 한글의 경우 명사, 동명사 정도만 검색 )- Nori는 기본적으로 품사 필터링을 통해 조사, 접미사 등 17개 ..
-
profile을 통해 실제 쿼리가 어떻게 구성되는지 확인해보기Elasticsearch 2025. 3. 27. 20:59
예시 데이터{ "id": "park_rocky-mountain", "title": "Rocky Mountain", "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."} "profile"을 통해 실제 쿼리가 어떻게 진행되는지 확인 필드 미지정 시 Query?GET my-index/_search{ "profile": true, "query": { "que..
-
인덱스 샤드 설정에 대해Elasticsearch 2025. 3. 22. 02:04
유튜브 데이터에 특화된 분석기가 업데이트되어 데이터를 재색인 해야하는 일이 생겼다. 이로인해 새로운 인덱스를 생성해야 했는데이 과정에서 샤드를 어느정도 설정해야 이상적일까에 대해 생각해보았다. 사용환경 : 크론탭유튜브 데이터의 하루 색인량은 약 1000건이며 기능 명세상 사용자 쿼리에 의해 업데이트되는 기능은 아니다. Elasticsearch Shard에 대해Elasticsearch 쿼리는 샤드당 단일 스레드로 실행된다. 각각의 Shard는 Lucene 인덱스의 인스턴스이며 Lucene 인덱스는 내부적으로 다수의 세그먼트로 구성되어 있다.노드가 더 많은 힙공간을 가질수록 처리할 수 있는 데이터와 샤드가 늘어난다.시계열 데이터 기준 적정 샤드 크기는 10GB~50GB이다. 하나의 노드에 저장할 수 ..
-
Curator를 활용한 Snapshot 테스트Elasticsearch 2025. 1. 8. 21:01
데이터 생애주기를 관리하기 위하여 Curator을 활용한 Bash Script를 구성해보았습니다..!현재 Crontab으로 하루에 한번 운용되고 있으며 아래와 같은 순서로 동작이 구성되었습니다. 동작 순서1. allocation : hot → warm 2. snapshot : 사용자 인덱스만 snapshot 생성3. delete_indices : snapshot이 완료된 인덱스 삭제 #!/bin/bashsnapshot_date=$(date -d '7 days ago' +%Y%m%d)snapshot_name="lucy_main_bac1_${snapshot_date}_snapshot"cat action_file.ymlactions: 1: action: allocation description:..
-
docker-compose.yml 활용하여 Elasticsearch Cluster 만들기Elasticsearch 2024. 10. 25. 20:42
동작 테스트를 위해 만들었던 Elasticsearch Cluster docker-compose.yml 파일을 공유하려고 합니다. 본래는 보안모드로 구성하려 했으나 빠른 테스트를 위해 보안설정을 하지 않았습니다. 클러스터의 구성은 아래와 같습니다.Elasticsearch Cluster마스터 노드 : 1개데이터 노드 : 4개 (node.attr.tier을 통해 노드 구분) - Hot Node : 3개 - Warm Node : 1개KIbana++ Hot, Warm 설정은 node.roles 설정이 아닌 node.attr.tier 설정입니다. docker-compose.ymlversion: '3.8'services: # 마스터노드 설정 master: image: docker.elastic.co..
-
Curator에 대해Elasticsearch 2024. 10. 9. 19:30
데이터 생애주기 관리 프로세스를 개발중입니다..!원래라면 ILM 을 활용하여 페이즈(Hot, Warm, Cold)를 결정하는것이 적절하나데이터 관리 시스템이 특별한 상황일 경우(항상 writable, 언더바(_)가 활용된 Index pattern) ILM을 활용하기 어려웠습니다. 따라서 Curator + Shell Script 를 활용하여 ILM 을 대체할 프로세스를 소개하려고 합니다. 목표1. 지난달 데이터를 Warm 페이즈로 Rollover2. Warm 노드에 있는 데이터는 primary shard 축소 예시configuration Filehttps://www.elastic.co/guide/en/elasticsearch/client/curator/current/configfile.html Config..
-
Elasticsearch ILM 탐색기Elasticsearch 2024. 6. 29. 17:01
그동안 자사 서비스의 최신/과거 데이터 관리를 크론탭을 활용하여 자바 프로세스를 통해 관리를 했다면이번엔 Elasticsearch의 기능 중 하나인 ILM을 통해 자체적으로 자동화를 할 수 있는지 알아보겠습니다..! ILM을 통해 관리한다는 것은,,! 자동으로 Phase를 옮긴다는 것과 같은 말이라고 생각합니다.하지만 애석하게도 서비스의 노드마다 elasticsearch.yml 설정인 node.roles를 상세하게 설정해놓지 않았습니다.(master냐? data냐?) node.attr.tier을 통해 구분할 뿐 node의 역할을 명시해 놓지 않았습니다.대신. yml 파일에 node.attr을 통해 설정하므로써 노드에 속성을 부여해주며 구분을 지었습니다. (Node attribute에 대해 공식문서 링크..