ElasticSearch (ELK)/🔍 ElsticSearch

ElasticSearch를 Repository Pattern을 활용하여 구성 (1)

짱구네 2024. 9. 20. 22:06
728x90
반응형

# ElasticSearch는 주로 언제 사용 될까?

Elasticsearch는 분산형 검색 및 분석 엔진으로, 대량의 데이터를 실시간으로 검색하고 분석하는 데 사용된다. 
주로 로그 분석, 텍스트 검색, 데이터 시각화, 애플리케이션 모니터링 등에 사용된다.  

 
언제 사용할까?
로그 및 이벤트 데이터 분석: 대량의 로그 데이터를 실시간으로 수집하고 분석할 때.
텍스트 검색: 웹사이트나 애플리케이션에서 빠른 텍스트 검색 기능을 제공할 때.
데이터 시각화: Kibana와 함께 사용하여 데이터를 시각화하고 대시보드를 만들 때.
애플리케이션 모니터링: 시스템 성능 모니터링 및 알림 설정을 할 때.

 
어떻게 사용할까?
Elasticsearch 설치 및 설정   
Elasticsearch를 다운로드하고 설치한다.
elasticsearch.yml 파일을 수정하여 클러스터 설정을 구성한다.
윈도우 사용자는 아래 링크를 참고
https://may9noy.tistory.com/1761

Kibana install for windows and es 연동하기

# Kibana 설치 그리고 es 연동- 설치 경로는 아래와 같다.https://www.elastic.co/guide/en/kibana/current/windows.html Install Kibana on Windows | Kibana Guide [8.13] | ElasticIf you need to reset the password for the elastic user or other bui

may9noy.tistory.com

 
데이터 인덱싱은 아래의 절차를 따른다.
1. 인덱스 생성: 데이터를 저장할 인덱스를 생성 한다.
2. 매핑 설정: 인덱스에 저장될 데이터의 구조를 정의 한다.
3. 데이터 적재: 데이터를 인덱스에 저장 한다.

 
데이터 인덱싱 
데이터를 JSON 형식으로 변환하여 Elasticsearch에 인덱싱한다.
REST API를 사용하여 데이터를 인덱싱할 수 있다.
인덱스 생성 방법은 아래와 같다. (콘솔과 CLI를 사용하여 구성 가능)

curl -X PUT "localhost:9200/logs?pretty"

ElasticSearch 맵핑 설정 : 매핑은 인덱스의 필드와 데이터 타입을 정의하는 작업이다.

curl -X PUT "localhost:9200/logs/_mapping?pretty" -H "Content-Type: application/json" -d '{
  "properties": {
    "id": { "type": "keyword" },
    "message": { "type": "text" },
    "timestamp": { "type": "date" }
  }
}'

 
인덱스 생성 확인
logs라는 인덱스가 생성된 것을 확인 할 수 있다.

 
데이터 검색   
Elasticsearch의 강력한 검색 기능을 사용하여 데이터를 검색한다.
다양한 쿼리 DSL을 사용하여 복잡한 검색 조건을 설정할 수 있다.

 
Spring Boot와의 통합   
Spring Data Elasticsearch를 사용하여 Spring Boot 애플리케이션과 통합할 수 있다.
Repository 패턴을 사용하여 데이터 액세스 로직을 분리하고 유지보수성을 높일 수 있다.
 
다음 글에서 SpirngBoot를 활용한 로그 데이터를 쌓는 작업을 해보자.
 
- 끝 -
 

728x90
반응형