프로그래밍 개발(Development)/Elastic Stack(ELK)(4)
-
Elasticsearch Query
Elasticsearch를 사용하다 보면 Query를 자주 사용하게 된다. 최근 버전에서는 SQL 구문이 사용 가능하지만, 일반적으로 자주 사용하는 몇가지 쿼리를 알아보자. 쿼리는 Kibana에서 사용시 나타내는 방식으로 작성 하였으며, curl or API 사용시에도 동일하게 사용된다. ※ 엘라스틱 버전은 5.4 버전 기반이며, 최근버전에서는 type값 없이 조회가 가능하다. 조회 조회시 match와 term을 주로 많이 사용하며, 두가지의 사용 방법과 차이점에 대해서 알아보겠습니다. match 쿼리는 단어들이 최소 1개라도 들어 있다면 검색 결과에 포함 됩니다. # must를 사용해 2개이상의 조건을 포함할 수 있다. GET {index}/{type}/_search { "query": { "bool"..
2021.08.17 -
Get Query All Elasticsearch Data(Elasticsearch 전체 데이터 가져오기)
기본적으로 elasticsearch query는 한번의 query로 최대 10000개의 데이터만 가져올 수 있다. 하지만 그 이상의 데이터가 필요로 할때 모든 데이터를 가져올 수 있는 방법이다. 코드는 python 버전이다. from elasticsearch import Elasticsearch _KEEP_ALIVE_LIMIT='20s' es = Elasticsearch([{'host': "127.0.0.1", 'port': 9200}]) body = { "sort": [ { "@timestamp": { "order": "desc" } } ], "query": { "match_all": {} } } response = es.search(index = 'test_index', scroll = _KEEP_A..
2020.09.02 -
Moving Elasticsearch data between servers(서버간 Elasticserch 데이터 이동)
Elasticsearch를 사용하다보면 백업을 한다던지, 서버 이전을 해야한다던지 하는 상황이 발생하여 서버간 데이터를 전송해야하는 경우가 생긴다. 이 경우 손 쉽게 index마다 데이터를 전송하는 방법이다. Linux Centos7 기준 데이터를 전송 하기 위해서는 elasticdump 를 설치 해야한다. Elasticdump 설명 : https://www.npmjs.com/package/elasticdump elasticdump import and export tools for elasticsearch www.npmjs.com Centos elasticdump pkg download: https://centos.pkgs.org/7/epel-x86_64/elasticdump-2.2.0-2.el7.noa..
2020.09.02 -
Change the Elasticsearch storage path(Elasticsearch 저장 경로 변경)
Linux(CenteOS7) 기준 사용자가 elasticsearch.yml 파일에 별도의 Path를 설정하지 않으면 /var/lib/elasticsearch/ 경로에 저장이 된다. 기본으로 저장된 경로를 변경한다. ex) /home/esdata 로 옮기는 과정이다.(사용자 지정) 1. Elasticsearch service stop - sudo systemctl stop elasticsearch 2. Data Copy - /home/esdata/cp -r /var/lib/elastcisearch/* . 3. Change Dir Authority - sudo chown -R elasticsearch:elasticsearch eadata/ 4. change path in elasticsearch yml - ..
2020.09.02