1.1.3 Kibana

이 문서의 허가되지 않은 무단 복제나 배포 및 출판을 금지합니다. 본 문서의 내용 포함된 자료를 인용하고자 하는 경우 출처를 명시하고 김종민(kimjmin@gmail.com)에게 알려주시기 바랍니다.

어떤 도구가 사용자들에게 선택되기 위한 가장 중요한 요소 중 하나가 바로 시각화 입니다. 다행이 Elasticsearch는 Restful 한 속성과 JSON 문서 기반의 통신을 지원하기에 http 프로토콜을 이용해 어떤 클라이언트와도 손쉽게 연동이 가능합니다. 그래서 개발자들이 Elasticsearch와 연동되는 다양한 시각화 도구를 개발하였고, 이 중 라시드 칸(Rashid Khan)이 개발한 Kibana 라는 시각화 도구가 큰 인기를 끌었습니다.

Kibana는 Elasticsearch를 가장 쉽게 시각화 할 수 있는 도구입니다. 검색, 그리고 aggregation의 집계 기능을 이용해 Elasticsearch로 부터 문서, 집계 결과 등을 불러와 웹 도구로 시각화를 합니다. Discover, Visualize, Dashboard 3개의 기본 메뉴와 다양한 App 들로 구성되어 있고, 플러그인을 통해 App의 설치가 가능합니다.

Discover

Discover는 Elasticsearch에 색인된 소스 데이터들의 검색을 위한 메뉴입니다. 검색 창에 질의문을 통해 데이터를 간편하게 검색, 필터링 할 수 있으며, 검색된 데이터의 원본 문서를 확인하거나 보고 싶은 필드만 선택해서 테이블 형태로 조회가 가능합니다. 시계열(time series) 기반의 로그 데이터인 경우 시간 히스토그램 그래프를 통해 시간대별 로그 수도 표시됩니다.

Visualize

Visualize는 aggregation 집계 기능을 통해 조회된 데이터의 통계를 다양한 차트로 표현할 수 있는 패널을 만드는 메뉴입니다. 영역차트, 바차트, 파이차트, 라인차트 등 다양한 시각화 도구들의 사용이 가능하며 여기서 만들어진 패널들을 조합해서 대시보드를 만들게 됩니다.

Dashboard

Visualize 메뉴에서 만들어진 시각화 도구들을 조합해서 대시보드 화면을 만들고 저장, 불러오기 등을 할 수 있는 메뉴입니다. 다른 메뉴들과 마찬가지로 검색 창에 쿼리를 입력하거나 시각화 도구들을 클릭해서 조회할 데이터들의 필터링이 가능하고, URL로 대시보드를 다른 사람들과 공유하거나 json 형식으로 내보내고 불러오기 등이 가능합니다.

Kibana 대시보드 화면

그밖에도 Kibana 5.x 버전부터는 이전 버전에서는 플러그인으로 추가해야 했던 Timelion이 기본으로 내장되었으며, 간편한 개발 도구였던 Sense역시 Dev Tools 라는 이름의 메뉴로 업그레이드 되어 기본으로 내장되었습니다. 또한 Elastic에서 제공하는 유료 플러그인인 X-Pack을 설치하게 되면 Monitoring 기능을 이용해서 Elasticsearch 클러스터 상태를 모니터링 하거나, Graph 모듈을 이용해서 관계도 분석이 가능하고, Reporting을 사용한 Kibana화면의 PDF 출력도 가능합니다.

6.3 버전 부터는 X-Pack 코드들이 배포판에 기본으로 내장되어 별도 플러그인 설치 절차 필요 없이 라이센스 파일을 적용하는 것 만으로 사용할 수 있게 되었습니다. 현재는 X-Pack 이라는 이름을 사용하지 않고 단순히 Elastic 의 기능들 이라고만 명명하고 있습니다.

여담으로 Kibana 역시 현재는 Elastic Stack에 어우러지는 로고로 디자인 되었지만 초기에는 아프리카의 움집 모양의 로고를 사용했습니다. Kibana창시자인 라시드는 Elasticsearch시각화 도구를 만들면서 처음에는 수집기인 Logstash의 통나무 로고와 잘 어울릴만한 이름인 영문 오두막 캐빈(cabin)을 생각했습니다. 하지만 흔한 명사라 좀 더 특이한 이름을 고민하며 cabin을 다른 나라 언어로 하면 어떨까 생각했고, 구글 번역기로 여러 언어로 번역 해 보던 중 아프리카 스와힐리어로 오두막이 kibana라는 것을 찾고 나서 마음에 들어 이 이름을 선택했습니다. 하지만 이것은 구글 번역기의 오류였고 실제 스와힐리어로 오두막은 키바나(kibana)가 아닌 키반다(kibanda) 였습니다.

Kibana 의 초기 버전 로고

추가적으로 Kibana는 일본에 있는 기차역 이름이기도 하고, 바르셀로나에 있는 레스토랑의 이름이기도 합니다.