ES - 키바나를 활용한 데이터 시각화


ES - 키바나를 활용한 데이터 시각화

들어가며

지난 번 포스팅에서는 ES의 기본적인 구성 3요소에 대해 개괄적으로 알아보았다. 이번에는 데이터직군과 좀더 연관성이 높아보이는 Kibana에 대해서 글을 쓰게되었다. 위에 그림 3개가 기본적인 ELK Stack 구성이다. 그중 시각화 및 전체 모니터링 UI를 담당하는 Kibana에 대해 디테일하게 알아보자

Kibana 는 무엇일까

https://www.itworld.co.kr/files/itworld/2019/11/kibana-12-100817536-large.jpg

이런 화려한 시각화를 본 적 있을 것이다. 대부분 태블로 또는 PowerBI같은 상용 툴을 써본 데이터 분석가 또는 현업 분석가라면 더 익숙 할 것이다. 그렇다. Kibana는 ES에 들어온 각종 데이터를 기반으로 시각적 표현을 도와주는 기능이 가장 Core라고 볼 수 있을 것이다.

ES 홈페이지에 적혀있는 공식적인 키바나의 정의는 다음과 같다.

  • Kibana는 Elastic Stack을 기반으로 구축된 무료 오픈 소스 프론트엔드 애플리케이션으로, Elasticsearch에서 색인된 데이터를 검색하고 시각화하는 기능을 제공합니다.
  • Elastic Stack(이전에는 Elasticsearch, Logstash, Kibana의 머리글자를 따서 ELS Stack이라고 함)의 차트 작성 도구로 널리 알려진 Kibana는 Elastic Stack 클러스터를 모니터링, 관리 및 보호하기 위한 사용자 인터페이스의 역할과 Elastic Stack에서 개발된 기본 제공 솔루션의 중앙 집중식 허브 역할도 합니다.
  • 2013년 Elasticsearch 커뮤니티 내에서 개발된 Kibana는 사용자와 기업을 위한 포털을 제공하며 Elastic Stack을 들여다보는 창으로 성장했습니다.

키바나가 사용되는 곳은?

Kibana는 Elasticsearch 및 더 광범위한 Elastic Stack과 긴밀하게 통합되어 다음을 지원하는 데 매우 적합하다고 한다.

  1. Elasticsearch에서 색인된 데이터를 검색하고 보고 시각화하며 막대 차트, 원형 차트, 표, 히스토그램, 지도를 생성하여 데이터를 분석합니다. 대시보드 보기는 이러한 시각적 요소를 결합한 다음 브라우저를 통해 공유하여 대규모 데이터에 대한 실시간 분석 보기를 제공합니다. 지원되는 사용 사례는 다음과 같습니다.
    1. 로깅과 로그 분석
    2. 인프라 메트릭과 컨테이너 모니터링
    3. 애플리케이션 성능 모니터링(APM)
    4. 위치 기반 정보 데이터 분석과 시각화
    5. 보안 분석
    6. 비즈니스 분석
  2. 웹 인터페이스를 통해 Elastic Stack 인스턴스를 모니터링하고 관리하고 보호합니다.
  3. 통합 가시성, 보안 및 엔터프라이즈 검색 애플리케이션을 위해 Elastic Stack에서 개발된 기본 제공 솔루션에 대한 중앙 집중식 액세스를 제공합니다.

특별히 내가 속한 팀에서는 개발된 챗봇의 사용자 모니터링 및 시스템 모니터링에 키바나를 적극 사용하고 있다. 일단 무료이고 구동시키기도 매우 간단하기 때문. 물론 이에대한 보안을 별도 셋팅하는 문제는 조금 복잡하긴 하지만 여튼 Logstash를 통해서 ES에 log데이터가 들어오면 이를 기반으로 대시보드를 잘 구성해서 특히 상부에 보고시 아주 유용하게 사용중. (위에분들은 시각화로 현혹시키는것도 조직에서 살아남는… 아니다.. 이러지말자)

키바나에서 어떻게 데이터 검색과 시각화가 이루어질까?

Kibana를 사용하면 Elasticsearch 인덱스 또는 인덱스들의 데이터를 시각적으로 분석할 수 있다고 한다. 특별히 인덱스는 RDB기준 DB와 같은 단위인것이다. 용어 혼동에 주의하자. Logstash(대규모 수집기) 또는 Beats(단일 목적 데이터 수집기 모음)가 로그 파일과 다른 소스로부터 비정형 데이터를 수집하여 Elasticsearch 저장 및 검색 기능을 위해 정형 형식으로 변환할 때 인덱스가 생성되는 컨셉.

Kibana의 인터페이스를 사용하면 사용자가 Elasticsearch 인덱스의 데이터를 쿼리한 다음(실제로 상단 바에 KQL이라는 쿼리를 쉽게 날리는 기능도 있음.) 표준 차트 옵션 또는 기본 제공 앱(Lens, Canvas, Maps 등)을 통해 결과를 시각화할 수 있다.

사용자는 다양한 차트 유형 중에서 선택하고, 숫자 집계를 변경하고, 특정 데이터 세그먼트로 필터링할 수도 있다. 아무래도 그림으로 보여주는게 빠를것이다.

https://aws1.discourse-cdn.com/elastic/optimized/3X/6/9/691a2f402448655a718b3376074d99f43a2e8aff_2_690x404.png

기본적으로 키바나는 왼쪽에 메뉴가 위치한다. 위에 사진은 예전 버젼인데 현재 최신 7.x버젼은 좀 색상은 다르다. 여튼 UI상 메뉴는 왼쪽에 숨어있더라.

키바나에서 제공되는 샘플 대시보드?

기본적으로 키바나를 구동하려면 다음과 같은 순서를 거친다.

  1. ES 설치 및 구동 (9200번 포트)
  2. 키바나 구동 (5601번 포트)

이 단계 이후에 키바나에 접속이 가능해지고, 특별히 Kibana Space라는 걸 이용하면 계정별로 구분지어 활용할 수 있게 된다. 계정선택 후 접속

https://www.elastic.co/guide/en/kibana/6.8/spaces/images/space-selector.png

실제 키바나 화면은 아래와같다.

https://blog.kakaocdn.net/dn/dVGlnV/btqBrlUW5cP/QWuocrCigmlJvsU61nBoYK/img.png

샘플데이터에 대해서는 다음과 같은 대시보드를 기본으로 제공한다. Add Data를 통해 추가하면 된다.

https://www.elastic.co/guide/en/kibana/6.8/images/Dashboard_example.png

이커머스, 항공편, 웹로그 총 3종류를 기본으로 주는듯하다. 꽤 이쁘게 잘 만들어 놓은듯. 이걸 보고 백지에서부터 따라하면 어느저옫 실력이 늘지 않을까 싶기도하다.

https://coralogix.com/wp-content/uploads/2020/10/image1.png

https://elastic-content-share.eu/wp-content/uploads/2020/12/APM-Canvas.png

ES는 엔지니어링 스킬 영역?

어느정도 맞는 이야기 이지만 키바나에 있어선 좀더 분석가의 영역에 가깝다고 보여진다. 사실 ES를 빈깡통 서버에 올려서 셋팅하고 원하는 데이터를 형식에 맞추어 집어 넣을 수 있다면 충분히 굿 스킬을 갖출 수 있다고 본다.

또한 그에 이어서 해당 데이터를 시각화하여 비즈니스 인사이트를 뽑아낸다면 분석가 못지않게 멋진 엔지니어가 될 수 있어보인다.

특히 데이터가 스트리밍으로 쏟아지는 영역에선 ES를 필두로 시스템들이 잘 구축되어 있는 것 같으니 도메인에 따라 활용방식을 다르게 가져갈 수 있지 않을까 라는 생각이 든다.

한국인들 생각보다 ES는 엄청 큰 회사다. 채용도 사방에서 하고 각국마다 ES엔지니어들이 즐비하고 있다. 우리나라는 아직은 찬밥신세 느낌이 없지않지만 기회는 그런곳에 있지 않을까 싶다.

감사합니다.

글 12편을 아래와 같이 기획해본다.

1.글또 6기를 시작하며 (DONE!)

2.ES - 일래스틱서치 개요와 기능들(Done!)

3.ES - 키바나를 활용한 데이터 시각화(Done!)

4.빅데이터를 지탱하는 기술 (책을 통한 스터디 1)

5.빅데이터를 지탱하는 기술(책을 통한 스터이 2)

6.Azure - AZ Fundamental 900로 알아보는 기본 Azure 아키텍쳐

7.Azure - Data Factory로 구축하는 ETL 파이프라인

8.회계법인(Accounting Firm)과 디지털 컨설팅 1

9.회계법인(Accounting Firm)과 디지털 컨설팅 2

10.Image 관련 딥러닝 논문 내용과 적용(미정)

11.NLP 관련 딥러닝 논문 내용과 적용(미정)

12.2021년을 회고하며.. 글또 6기 마무리 글

이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)

Buy me a coffeeBuy me a coffee





© 2020 modified by Tae You Kim

Powered by "shoman2"