Kibana 설치하기 (for Elasticsearch)
지난 글에서는 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

WINDOWS 를 눌러 다운로드한다.
2. Kibana 서버 실행하기
이제 적절한 위치에 압축을 푼다. 압축을 풀었으면 실행해 볼 차례인데, 그 전에 설정할 게 있다. config 폴더의 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 을 실행한다.

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

무섭게 빨간 글자들이 막 튀어나온다. 딱봐도 실패인거 알겠다. 화면 하단에 보면 이런 문장이 보인다.
Port 9200 is already in use.
port 는 겹치면 안된다. 설정 파일(config/kibana.yml)을 열어서 설정을 변경하고 kibana 를 재시작하자.
3. Kibana 작업화면 보기
아래 링크를 복사해서 브라우저 주소창에 붙여넣고 실행해보자.
참고로 이 주소는 Kibana 설정 파일에 있는 server.host 와 server.port 를 조합한 주소다. 아무 설정도 하지 않은 경우가 위와 같고, 다르게 설정을 했으면 다른 주소를 붙여넣어야 한다. 예를 들어 server.port 를 5555로 변경하고 Kibana 를 실행했다면
를 붙여넣어야 한다. 암튼 붙여넣고 실행하면 새로운 화면을 볼 수 있다! 이 화면은 Kibana 를 실행했기에 보이는 화면이다! 잽싸개 왼편의 Dev Tools 탭을 눌러보자. 다른 탭은 설명하지 않겠다.
Welcome to Console! 이라며 반기는 분위기다. 그렇지만 영어가 난무하는 것은 참을 수 없다. 영어에 자신 있는 사람은 읽어보고, 영어는 잘하지만 읽는 것이 귀찮은 사람은 Get to work 버튼을 꾹 눌러보자. 영어가 없어지고 화면이 좀 편안해질 것이다.

우리는 지금 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 를 끄고나서 다시 실행(초록삼각형버튼 또는 컨트롤엔터누르기) 해보자. 다음과 같은 화면을 볼 수 있을 거다.

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