Kibana 설치하기 (for Elasticsearch)

Jiha Song
Jiha Song
Sep 2, 2018 · 7 min read

지난 글에서는 Elasticsearch(ES)를 설치하고 실행해봤다. 이제 ES를 이용해서 database 작업을 해 볼 차례…인데 그 전에 그에 필요한 툴을 설치해보자.

툴? 툴이 뭘까. 내가 처음 접했던 database 는 MySQL 이었다. MySQL 은 정확히는 관계형 데이터베이스 관리 시스템의 한 종류이지만, 일단 database 라고 대충 불러보자. 어쨌든 이 database 를 설치했으면 여기다가 data를 넣고, 수정하고, 삭제하고, 조회하고 작업을 해야되는데 그 작업을 ‘편하게’ 하려면 툴이 필요하다. MySQL workbench, SQLyog, Toad 과 같은 애들은 SQL 작업을 도와주는 툴이다.

ES 에는 Kibana가 있다. 개인적으로는 Sense 라는 크롬 확장 프로그램을 애용했으나, 이제 사용할 수 없게 되었다. (멀웨어로 판정되었다나…) 암튼 Kibana는 공식 사이트에서 제공하니까 얘를 한 번 써보자.

이 글에서는 Kibana 를 설치하고, Kibana 를 이용해서 ES 에 명령어를 날려서 결과를 받아보겠다.

0. 작업 환경

  • OS : Windows 10
  • Elasticsearch version : 6.4.0
  • Kibana version : 6.4.0

1. Kibana 다운로드

아래 링크로 이동해서 다운로드 받는다.

-> https://www.elastic.co/kr/downloads/kibana

위 링크에 접속하면 볼 수 있는 화면. version 은 다를 수 있다.

WINDOWS 를 눌러 다운로드한다.

2. Kibana 서버 실행하기

이제 적절한 위치에 압축을 푼다. 압축을 풀었으면 실행해 볼 차례인데, 그 전에 설정할 게 있다. config 폴더의 kibana.yml 파일을 열어서 내용을 살펴보자.

kibana.yml 파일 일부

이 파일은 Kibana 설정파일이다. 각종 설정을 할 수 있다. yml 파일에서 ‘#’은 주석을 의미한다. Kibana 실행 전에 ES 의 주소를 설정해야한다. 이미지에서 가장 아래에 elasticsearch.url 라고 쓰여있는 부분이 ES 의 주소다. 이 줄의 #을 지워주자.(yml 형식의 파일에서는 # 이 주석을 나타낸다.) 큰 따옴표 안에 있는 내용을 바꾸면, 다른 주소에 있는 ES 에 접근할 수도 있다.

그 외 다른 설정들도 대충이나마 한 번 봐보자.

server.port : Kibana 가 기본적으로 사용하는 port(방화벽) 는 5601 이다. 이것을 바꾸고 싶으면 주석을 해제하고 값을 바꾸면 된다. 개인적으로는 ES 를 여러개 (localhost 에 있는 ES, 외부에 있는 ES) 사용하고 싶을 때 사용한다. Kibana 설치 폴더를 한 벌 더 만들고, 새로운 폴더의 Kibana 설정을 다르게(server.port: 5602 등등)하면 Kibana 를 두 개 띄울 수 있다. 그렇게 각각의 ES 에 작업을 할 수 있다.

server.host : Kibana 가 기본적으로 사용하는 host

이제 진짜 실행해보자!

그 전에!!! Kibana 실행 전에 꼭 해야할 일이 있다. 그것은 바로 ES 가 실행되어있는지 확인하는 일이다. 가장 확실히 아는 방법은 브라우저에 ES 의 주소를 입력해보는 것이다. 위 키바나 설정 파일의 elasitcsearch.url 에 해당하는 값을 브라우저에 입력해서 화면에 결과가 나오는지 확인한다. ES 가 실행중이지 않다면 먼저 ES 를 실행한다.

bin 폴더의 kibana.bat 을 실행한다.

Kibana 실행 성공 예시

대충(?) 이런 화면이면 성공이다.

그냥 넘어가면 재미없으니 실패 예시도 봐보자. 설정파일에서 일부러 server.port 를 ES 가 이미 사용하고 있는 9200 으로 변경하고 실행해봤다.

Kibana 실행 실패 예시

무섭게 빨간 글자들이 막 튀어나온다. 딱봐도 실패인거 알겠다. 화면 하단에 보면 이런 문장이 보인다.

Port 9200 is already in use.

port 는 겹치면 안된다. 설정 파일(config/kibana.yml)을 열어서 설정을 변경하고 kibana 를 재시작하자.

3. Kibana 작업화면 보기

아래 링크를 복사해서 브라우저 주소창에 붙여넣고 실행해보자.

http://localhost:5601

참고로 이 주소는 Kibana 설정 파일에 있는 server.host 와 server.port 를 조합한 주소다. 아무 설정도 하지 않은 경우가 위와 같고, 다르게 설정을 했으면 다른 주소를 붙여넣어야 한다. 예를 들어 server.port 를 5555로 변경하고 Kibana 를 실행했다면

http://localhost:5555

를 붙여넣어야 한다. 암튼 붙여넣고 실행하면 새로운 화면을 볼 수 있다! 이 화면은 Kibana 를 실행했기에 보이는 화면이다! 잽싸개 왼편의 Dev Tools 탭을 눌러보자. 다른 탭은 설명하지 않겠다.

Welcome to Console! 이라며 반기는 분위기다. 그렇지만 영어가 난무하는 것은 참을 수 없다. 영어에 자신 있는 사람은 읽어보고, 영어는 잘하지만 읽는 것이 귀찮은 사람은 Get to work 버튼을 꾹 눌러보자. 영어가 없어지고 화면이 좀 편안해질 것이다.

Dev Tools 초기 화면

우리는 지금 Console 탭을 보고 있다. 화면에 다음과 같은 문자열이 보일 것이다.

GET _search
{
"query": {
"match_all": {}
}
}

Kibana 에서 미리 만들어준 명령어(쿼리)를 실행해보자. 커서를 위 문자열이 있는 쪽에 위치시키고 Ctrl+Enter 를 입력해보자. 또는, 오른쪽을 가리키고 있는 초록색 삼각형을 눌러보자.

오른쪽에 뭔가가 생겼다! 대충 봐보자. 화면에 hits 라는 문자열이 두 군데 있다. 둘 중 더 위에 있는 녀석 안쪽을 봐보자.

total 은 1이다. 뭔가가 한 개 검색된거다. 우리가 실행한 명령어가 사실은 내용을 검색하는 명령어였다. (이름도 _search 이지 않은가)

hits 두 개 중 아랫것을 봐보자. 다른거는 다 나중에 설명하고 일단 _source 의 안쪽을 봐보자. type 은 config 이고 updated_at 이라고 써있는걸로 봐서 대충 업데이트 날짜가 2018년 8월 26일 오전 10시 37분이라는 말 같다. 그 아래 config 내용은 대충 빌드 넘버가 17929 라는 것 같다. 그 밑에는 모르니까 넘어가자.

그래서 이게 뭐냐고? Elasticsearch 로부터 뭔가를 검색해 온거다! 그 증거로 ES 를 끄고나서 다시 실행(초록삼각형버튼 또는 컨트롤엔터누르기) 해보자. 다음과 같은 화면을 볼 수 있을 거다.

조회 실패 화면

아쉽지만 오늘은 여기까지하고, 다음에는 우리의 데이타베이스 엘라스틱서치에 걸그룹!들을 저장해서 관리해보는 글을 쓸 생각이다.

Jiha Song

Written by

Jiha Song

Software Developer strong at Java, Android, Spring Framework, Elasticsearch

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade