Elasticsearch 관련 도구


  • 유용한 플러그인
    • elasticsearch-head
  • 연동 시스템
    • Logstash
    • Kibana

유용한 플러그인


엘라스틱 서치에서는 다양한 플러그인을 쉽게 설치하여 사용할 수 있다. 엘라스틱 서치에서 사용할 수 있는 유용한 플러그인들과 엘라스틱 서치와 함께 설치해서 사용하면 좋은 도구인 logstash와 kibana를 설명하려고 한다. 워낙 유용한 도구들이다 보니 될 수 있으면 엘라스틱 서치는 로그 스태시와 키바나를 함께 설치하여 사용하도록 하자.


elasticsearch-head

엘라스틱 서치를 모니터링할 수 있도록 해주는 도구이다. 플러그인으로 설치하면 브라우저 화면으로 엘라스틱 서치의 노드들을 모니터링 할 수 있다. 단, 5.x버전부터 플러그인 지원을 하지 않는다고 한다. (elasticsearch에서 지원을 못하도록 막음) 따라서 독립 서버로 올려야하는데 Chrome WebStore에서 해당 기능을 지원해주고 있으므로 웹 스토어에서 해당 크롬 어플리케이션을 설치해서 사용하는게 가장 간편할 것이다.

출처 : https://github.com/mobz/elasticsearch-head#running-with-built-in-server


현재 엘라스틱 서버의 상태를 나타낸다. 클러스터된 서버들에 색인이 어떻게 설정되어 있는지 볼 수 있다. 또한 현재 색인된 데이터도 볼 수 있고 쿼리작성을 쉽게 할 수 있도록 하는 기능도 제공하고 있다. 그 외에도 다양한 모니터링, 관리 기능을 제공하고 있으므로 자세한 사용법은 나중에 따로 정리하도록 하려고 한다.


연동 시스템


Logstash

엘라스틱서치는 강력한 검색도구이다. 하지만 검색할 대상 데이터를 엘라스틱 서치에 인덱싱을 해두어야 검색에 활용할 수 있다. 인덱싱 작업을 하려면 검색할 대상 데이터를 엘라스틱 서치에 색인 매핑 정보에 맞게 가공하여 저장해야한다. 엘라스틱 서치 색인 작업을 하기 위해 데이터를 가공하는 작업을 대신 해주는 역할을 해주는 것이 필요하다. 이 역할을 해주는 것이 logstash이다.

Logstash는 입력된 데이터를 원하는 데이터로 필터링 또는 가공하여 내보내도록 하는 기능을 제공하는 도구이다. 파일, DBMS, Log 등 다양한 경로로 수집한 데이터를 정해진 규칙에 따라 데이터를 가공할 수 있기 때문에 엘라스틱 서치에 색인 데이터로 가공하는데 유용하게 사용할 수 있다. 따라서 데이터를 가공하여 엘라스틱 서치에 색인할 때 logstash를 이용하도록 하자.


[설치]

엘라스틱 서치 공식 홈페이지에서 제공한다.

https://www.elastic.co/downloads/logstash

위의 페이지에서 logstash를 다운로드 한 후에 압축을 해제하면 된다. 자세한 사용법은 추후 따로 정리하도록 하겠다.


Kibana

엘라스틱 서치에 저장된 데이터를 시각화해주는 도구이다. 엘라스틱 서치에 저장된 데이터들을 차트, 그래프, 지도 등 여러가지 형태로 시각화해주는 기능을 제공하고 데이터 조회, 통계 등의 기능도 제공한다. 엘라스틱 서치에 들어간 데이터를 눈으로 쉽게 볼 수 있기 때문에 반드시 설치하여 사용하도록 하자.


[설치]

엘라스틱 서치 공식 홈페이지에서 제공한다.

https://www.elastic.co/downloads/kibana

위 페이지에서 Kibana를 다운로드 한 후에 압축을 해제한다. 압축 해제한 후 conf/kibana.yml 파일에서 다음을 설정한다.

server.host: "localhost"
elasticsearch.url: "http://localhost:9200"

위와 같이 설정하면 키바나가 현재 실행 중인 엘라스틱 서치를 인식하여 데이터를 제공할 수 있다. 만약 호스트 또는 elasticsearch url이 변경되었다면 해당 url을 입력하면 된다. (엘라스틱 서치가 실행중인 상태에서) 위와 같은 설정 한 후에 bin/kibana를 실행하고 http://localhost:5601에 접속하면 kibana에 접속할 수 있다. kibana에 대한 자세한 사용법은 추후 따로 정리도록 하겠다.