본문 바로가기

프로젝트/고민

Elasticsearch 적용 이야기: Kibana 적용기

키바나를 적용한 계기

주문은 매출과 직결되는 중요한 도메인이기 때문에 주문 통계의 필요성을 느꼈다. 이에 엘라스틱 서치에서 지원하는 강력한 모니터링 도구인 키바나를 적용하고자 한다.

 

적용과정

1. 먼저 현재 내가 사용하고 있는 elasticsaerch의 버전에 맞는 kibana 이미지를 다음의 명령어로 설치한다.

 

 

2. 다음으로 키바나 컨테이너를 실행하기에 앞서 키바나 컨테이너와 엘라스틱 서치의 컨테이너의 연동을 위해 엘라스틱 서치 컨테이너의 id를 확인한다.

 

 

3. 환경변수에 2에서 확인한 컨테이너 id를 --link 옵션으로 연결시킨 후 키바나 컨테이너를 실행한다. (이외에도 컨테이너간 통신하는 방법은 있으니 다른 방법을 이용해도 된다.)

 

 

4. localhost:5601 포트에 접속해서 인덱스 패턴을 생성한다.

 

 

5. 대시보드를 생성해 확인하고 싶은 통계를 확인한다. 나의 경우 다음의 통계를 얻고자 한다.

  • 총 요청량
  • 가장 많이 주문하는 사용자 통계
  • 매출 통계
  • 상품 통계

대시보드를 생성하는 방법은 다 비슷하니 사용자 통계를 얻는 과정을 작성해볼 생각이다.

 

6. 원하는 통계를 얻기 위해 왼쪽의 visualize 탭에서 시각화를 생성한다. 

 

 

7. 시각화를 생성한다. 이때 다양한 시각화 도구 중 통계에 적합한 도구를 선택하자. 나의 경우 사용자 통계를 나타내기에 Line이 적당하다고 생각이 들어 Line를 선택했다.

 

 

 

8. 해당하는 인덱스를 선택한 후 대시보드를 생성한다.

 

나의 경우 x축에 버컷에서 Terms를 선택한 후 Field로 사용자 email을 선택했으며, y축으로는 요청 횟수를 지정했다.

 

이제 키바나를 이용해 대시보드를 만드는 작업을 완료했다. 

 

마치며

키바나를 처음 적용해보고 통계를 쿼리가 아닌 시각화를 통해 확인했다. GUI를 제공하니 구현도 쉽고 편리하다고 느껴졌다. 이번에 ES와 키바나를 적용해보며 새로운 기술을 적용하는 것은 생각보다 어렵지 않다고 느껴졌다. 또한 적용하기 전에 왜 적용하는지와 기술의 개념을 잘 잡는게 중요하는 생각이 들었다.