Security/ELK

[ELK] Elasticsearch CRUD

cho2cee 2021. 11. 19. 02:19

1. Elasticsearch의 핵심 개념 

 NRT(Near Realtime) - Elasticsearch는 거의 실시간 검색 플랫폼임 
- 문서를 색인할 때부터 검색 기능까지 대기 시간이 매우 짧음(일반적으로 1초)
 클러스터 - 전체 데이터를 함께 보유하고 모든 노드에서 연합 인덱싱 및 검색 기능을 제공하는 하나 이상의 노드 모음 
- 클러스터는 기본적으로 elasticsearch 라는 고유한 이름으로 식별 
 노드  - 노드는 클러스터의 일부이며 데이터를 저장하고 클러스터의 인덱싱 및 검색 기능에 참여하는 단일 서버 
- 단일 클러스터에서 우너하는 만큼의 노드를 소유 가능 
 색인(Index)  - 색인은 다소 유사한 특성을 갖는 문서의 콜렉션 
 Type - 사용자가 하나의 유형, 블로그 게시물을 다른 유형과 같이 여러 Type의 문서를 동일한 색인에 저장할 수 있돌고 색인의 논리적 범주로 사용되는 유형
 Documents - 문서는 색인을 생성할 수 있는 기본 정보 단위
- JSON으로 표현
RESRFul API  - URI를 사용한 동작이 가능 
- HTTP 프로토콜로 JSON 문서의 입출력과 다양한 제어

 

2. REST API 

  • 노드와 통신하는 방법 
  • Elasticsearch는 클러스터와 상호작용하는데 사용할 수 있는 매우 포괄적이고 강력한 REST API를 제공 
  • API 로 수행할 수 있는 작업 
    • 클러스터, 노드 및 색인 사앹, 상태 및 통계 확인 
    • 클러스터, 노드 및 색인 데이터 및 메타 데이터 관리 
    • CRUD(Create, Read, Update, Delete) 및 인덱스에 대한 검색 작업 수행 
    • 패이징, 정렬, 필터링, 스크립팅, 집계 및 기타 여러 고급 검색 작업 실행 
  • 구성요소 3가지 : 리소스, 메서드, 메시지 

 

3. HTTP 메서드와 CRUD, SQL 비교 

 

4. GET, PUT, POST, DELETE

[Kibana의 devtool 명령어]
PUT /customer?pretty
GET /_cat/indices?v

[curl 명령어]
curl -X PUT "localhost:9200/customer?pretty"
curl -X GET "localhost:9200/_cat/indices?v"

PUT 동사로 customer라는 색인(인덱스) 생성
POST 메서드로 도큐먼트 생성
GET 메서드로 생성한 도큐먼트 불러오기
DELETE 메서드로 생성한 도큐먼트 삭제

 

 


Reference

🔗 IT인을 위한 ELK 통합로그시스템 구축과 활용