- ELK ES 기본 사용법 (Postman 사용)2023년 03월 22일 20시 10분 59초에 업로드 된 글입니다.작성자: 각수짱728x90반응형SMALL
REST API를 이용하여 ES의 설정 및 데이터 CRUD
- DB에 데이터
- DB생성
CREATE DATABASE test; - 테이블 생성
CREATE TABLE test.student (sname VARCHAR(10), sage INT); - 데이터 저장
- 데이터 조회
- DB생성
Postman
포스트맨을 이용시 쿼리문으로 복잡하게 할 필요 없음
https://www.postman.com/downloads/다운로드
File → Import → 다운받은 json파일
json파일은 이렇게 구성되어 있다아무거나 들어가서
{{host}}는 ElasticSearch의IP주소
{{index}}는 인덱스 이름 지정 (ex: student)
인덱스
인덱스 생성
PUT http://{{host}}:9200/{{index}}
인덱스 목록 조회
현재 생성된 인덱스들 조회
url 명령어 사용할때 명령어 앞에 _를 붙여야함(ex: _cat)
indices : 인덱스들
indices뒤에?pretty 하게되면 보기좋게 나옴 (Postman에서 알아서해줌)GET http://{{host}}:9200/_cat/indices
인덱스 상세 조회
GET http://{{host}}:9200/{{index}}
인덱스 삭제
DELETE http://{{host}}:9200/{{index}}
매핑
매핑 조회
GET http://{{host}}:9200/{{index}}/_mapping
매핑과함께 생성
매핑생성시 인덱스도 같이 생성할수있다
*인덱스가 이미 존재한다면 오류가 날 수 있다PUT http://{{host}}:9200/{{index}} { "mappings": { "properties": { "sname":{"type": "text"}, "sage":{"type": "integer"}, "created_at":{"type": "date","format": "yyyy-MM-dd HH:mm:ss"} } } }
매핑 추가
인덱스 추가후 매핑을 직접 추가할 수 있다
PUT http://{{host}}:9200/{{index}}/_mapping { "properties": { "sname":{"type": "text"}, "sage":{"type": "integer"}, "created_at":{"type": "date","format": "yyyy-MM-dd HH:mm:ss"} } }
CRUD
CREATE
PUT
PUT방식으로 만들면 id값을 넣어줘야한다(여기에선 1를 사용했다)
PUT http://{{host}}:9200/{{index}}/_create/id { "sname":"kim", "sage":10, "created_at":"2023-03-22 11:00:00" }
POST
POST방식으로 만들면 id 값은 선택옵션이 된다( 미기입시 임의로 만들어준다)
POST http://{{host}}:9200/{{index}}/_doc { "sname":"lee", "sage":20, "created_at":"2023-03-22 11:00:00" }
READ
GET http://{{host}}:9200/{{index}}/_doc/id
UPDATE
id가 1 이고 이름이 kim 에서 lee로 수정했다.
POST http://{{host}}:9200/{{index}}/_update/id { "doc":{ "sname":"lee", "sage":10, "created_at":"2023-03-22 11:00:00" } }
DELETE
lee 값이 사라진걸 확인할 수 있다.
DELETE http://{{host}}:9200/{{index}}/_doc/id
LIST
POST방식으로 생성된 데이터만 있는걸 볼 수있다.
GET http://{{host}}:9200/{{index}}/_search
샤드
샤드를 하려면 클러스터 구성으로 3대 연결하면된다
샤드 목록조회
GET http://{{host}}:9200/_cat/shards?v&h=index,shard,prirep,state,unassigned.reason
특정 인덱스 샤드 조회
GET http://{{host}}:9200/_cat/shards?v&h=index,shard,prirep,state,unassigned.reason
샤드 재배치
클러스터 대수가 부족하여 오류가 났다
아무든 가능한 명령어다POST http://{{host}}:9200/_cluster/reroute { "commands" : [ { "allocate_empty_primary" : { "index" : "student", "shard" : 0, "node" : "node-2", "accept_data_loss" : "true" } } ] }
클러스터
현재 3대 운영중
클러스터 상태 확인
GET http://{{host}}:9200/_cat/health?v
클러스터 노드 상태 확인
3대인걸 확인 할 수 있다
master인것도 확인가능 (node.role에 m이 들어가면 마스터)GET http://{{host}}:9200/_cat/nodes?v
728x90반응형LIST'웹 서비스 > ELK' 카테고리의 다른 글
ELK Logstash (0) 2023.03.23 ELK Elasticsearch 클러스터링 (0) 2023.03.22 ELK Kibana (0) 2023.03.22 ELK Metricbeat (0) 2023.03.22 ELK ElasticSearch (0) 2023.03.22 이전글이 없습니다.댓글 - DB에 데이터