일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA 공부
- 플러터 개발
- 코테공부
- Flutter
- 자바공부
- 스프링공부
- 코테준비
- JPA예제
- 프로그래머스
- 스프링부트
- nestjs
- Axon framework
- 스프링 공부
- DDD
- nestjs스터디
- JPA
- Kafka
- 기술공부
- 스프링
- 카프카
- querydsl
- nestjs공부
- 스프링부트공부
- 기술면접공부
- JPA스터디
- K8S
- 알고리즘공부
- 플러터 공부
- JPA공부
- 자료구조공부
- Today
- Total
DevBoi
[ELK] 1. Elastic Search 본문
ELK 관련 로그 저장 관리 스택에 대해서 알아보자
Elastic Search, Logstash, Kibana 이렇게 3개의 스택에 대해서 해당 ELK 스택이라고 표기되고 사용된다.
사용목적은 데이터 분석 스택이고, 해당 데이터 분석 을 통해서 여러가지 운영 상 이점을 얻을 수 있다.
당연히 운영 시스템에서는 많은 로그들이 발생되고 이슈추적이나 뭐 여러가지의 이유로 해당 로그는 굉장히 중요하다
* Elastic Search
해당 엘라스틱 서치는 Apache Lucene 기반의 기술이다.
해당 엘라스틱 서치는 가진 데이터 중, 특정 키워드를 가진 데이터를 찾을수 있는 , 특정 데이터 검색을 지원해준다.
아래와 같은 특징들을 가진다.
1. 역 인덱싱
엘라스틱 서치는 문서 기반으로 저장되는 ELK의 스택중 어떤 키워드의 데이터가 어떤 문서에 있는지를 빠르게 찾게 해준다.그리고 이를 추가적으로 해시테이블에 저장해준다.
해당 과 같은 구조로 데이터를 관리하게 되면, 전체검색을 할 필요없이
키워드가 유니크한 값을 가지고있다는 전제하에, O(1)만큼의 시간 복잡도가 걸리게 된다.
키워드는 유니크한 키값을 가지는 로그단위에서 적당하다
많은 종류의데이터들이 존재하고 이를 문서기반으로 역인덱싱을 통해 색인을 하기 떄문에
빠르게 검색이 가능하다.
2) 샤딩
문서에 대한 저장을 단일 노드에서 이루는 것이 아니라
여러개의 노드를 구성하고 분산 저장이 가능하다
위에서 언급했듯이, 역인덱싱으로 문서 단위로 데이터를 검색할 수있기 때문에
여러개의노드에서 저장하고 있다고 해도 분산처리 및 저장이 가능하다.
3) Rest API 지원
Elastic 에게 Rest api 형태로 요청 및 응답을 받을 수 있다.
문서, 집계 등등 사용자가 Elastic search 에 rest api 형식으로 요청하면 해당 방식에 맞춰서 응답을 해준다.
Elastic Search 는 아래 방식으로 동작한다.
<동작과정>
1.데이터 수집기가 Rest API로 JSON 형태를 Elasticsearch 에 전송한다.
2. Elastic Search 는 특정 source 필드들을 돌면서 역인덱싱을 통해 색인을 하고 데이터를 저장한다.
3.사용자가 Rest API 를 통해 데이터를 검색,분석 할수있는 질의를 보내고 응답을 받는다.
------실제 Elastic Search 예제 -----
'[Devops]' 카테고리의 다른 글
[Devops] Wrk 로 성능 테스트 해보기 (0) | 2023.06.14 |
---|---|
[Key Cloack] 로그인 횟수 제한 (0) | 2023.06.01 |
[Open Search] Alerting 관련 구현 (0) | 2023.04.29 |
성능테스트 도구 Jmeter (0) | 2022.09.25 |
[성능 테스트] 성능테스트 시작해볼까... (0) | 2022.09.24 |