키바나

바퀴달린 개발자·2022년 3월 21일
  • 시각화
    로그데이터가 엘라스틱 서치에 저장되어 있다.
    비즈니스 인텔리전스 도구
    데이터 시각화를 가능하게 하는키바나

여러 인덱스를 통합해서 하나로 탐색이 가능하게 만드는 인덱스 패턴
데이터를 탐색하는 디스커버,
시각화를 위한 타입 정리,
대시보드와 캔버스를 활용한 화면표시,
서울 지역의 우편번호 데이터를 사용한 지도 표시

키바나

  • 엘라스틱 스택의 관리, 모니터링, 솔루션을 총괄하는 메인 UI

키바나 기능

  1. 데이터 분석과 시각화 툴
    • 오픈소스 기반이 데이터 탐색 및 시각화 도구 제공
  2. 엘라스틱 관리
    • 보안, 스냅샷, 인덱스 관리, 개발자 도구 등을 제공
  3. 엘라스틱 중앙 허브
    • 모니터링을 비롯해 엘라스틱 솔루션을 탐색하기 위한 포털

시각화 기능

  1. 디스커버
    : 데이터를 도큐먼트 단위로 탐색해 구조와 관계 등을 확인할 수 있다.
  2. 시각화
    : 다양한 그래프 타입으로 데이터를 시각화할 수 있다.
  3. 대시보드
    : 그래프, 지도 등을 한곳에서 확인하면서 다양한 인사이트를 얻을 수 있다.
  4. 캔버스
    : 그래프와 이미지 등을 프레젠테이션 슬라이드처럼 구성할 수 있다.
  5. 맵스
    : 위치 기반 데이터를 지도위에 표현할 수 있다.

인덱스 패턴

  • 키바나에서 시각화를 하기 위해서는 엘라스틱 서치 인덱스에 연결되어야만 한다.

  • 인덱스 패터이란, 데이터소스를 엘라스틱서치 인덱스에서 가져오는 것을 말한다.

  • 인덱스 매핑 정보 등을 키바나에 사용하기 적합하게 미리 캐싱해둔 것으로 여러 개의 인덱스에 대한 메타데이터를 병합해 저장해뒀다가 검색이나 시각화 생성시 활용한다.

왜 바로 엘라스틱서치 인덱스에 접근하지 않고 인덱스 패턴이라는 구조를 한단계 더 거치냐?

복수의 인덱스에 대한 패밍을 사전에 병합해두어 쿼리 생성이나 시각화에 활용할 수 있기 때문

디스커버

쿼리바

로그 분석 혹은 전문 검색을 할 때 쿼리바나 필터바를 유용하게 사용할 수 있따.
KQL(Kibana Query Language), 루씬 쿼리 스트링 언어를 지원함.
https://www.elastic.co/guide/en/kibana/current/kuery-query.html

필터바

  • 필드를 개별적으로 처리할 수 있다.
  • Pin across all apps 만들어진 필터를 핀 기능처럼 사용한다.
  • Temporarily disable

타임 피커

  • 날짜/시간 정보를 조작해 데이터를 특정한 날짜/시간 범위 내에서 시각화한다.
  • 키바나 인덱스 패턴을 생성할 때 반드시 기본 날짜/ 시간 필드를 설정해줘야 한다.

시각화

: 그래프, 표, 지도 등 다양한 타입으로 보여주는 역할을 한다.
라인, 바, 파이 차트부터 맵, 시계열 비주얼 빌더, 태그 클라우드 등 다양한 시각화 타입 지원

엘라스틱 서치의 집계(aggregation)을 모르면 이해가 쉽지않다.
<엘라스틱서치 집계>
메트릭 집계: 평균/최소/최대 같은 수량을 계산함.
버킷 집계: 특정 기준에 맞춰 데이터를 분리함. 서브 버킷을 생성할 수 있다.
파이프라인 집계: 집계 결과를 입력으로 받아 다시 집꼐한다. 부모/형제 집계 유형이 있다.

대부분 매트릭 집계와 버킷 집계에 맞춰서 그래프를 그리고 좀 더 복잡한 그래프는 파이프라인 집계를 이용한다.

막대그래프

: 막대그래프 형태로 2차원 데이터 표현
Vertical Bar, Horizontal Var를선택
Metrics는 평균값/최솟값/최댓값같은 통계를 보여주고 그래프상에서 Y축에 속한다.
Buckets은 특정 기준으로 데이터를 나누는 역할을 하며 그래프 상에서 X 축에 속한다.

X축 버킷 집계 종류 (323p)
1. Date Histogram
2. Range
Aggregation에서 Range를 선택할 때는 집계에 사용할 필드의 데이터 범위를 확인하기 위해 키바나 콘솔을 이용한다.
간격을 사용자가 정할 수 있다.
3. Terms
: 특정 필드의 고윳값을 기준으로 데이터 구분

히트맵

열분포 형태의 시각화 표현 방식이다. 3차원 데이터 처리가 가능하다.

TSVB(Time Series Visual Builder)

  • 시계열 데이터를 처리하기 위한 메뉴로, 로그 모니터링이나 시간 범위 내의 특정 동작을 시각화하는데 유용하다.
    TimeSeries: 시계열 데이터를 히스토그램 형태로 확인할 수 있다.
    Metric: 텍스트 형태로 표현
    Top N: 수평 바 형태로 표현
    Gauge: 게이지 형태
    Markdown: 마크다운
    Table: 테이블
    메뉴1) Panel options

시각화 하려는 인덱스 패턴에 날짜/시간 타입 필드가 없다면 사용할 수 없다.
Panel filter라고 쿼리바와 사용법이 같다. 데이터 필터링이 가능하다.
메뉴2) Data
그리고 매트릭 집계나 파이프라인 집계를 추가할 수 있다.
메뉴3) Annotations
선택한 값에 대한 어노테이셭이 보인다.

대시보드

: 시각화 타입들을 한 페이지에 모아 볼 수 있는 기능
1. 범례 표시
2. 대시보드에서 필터를 적용하고 날짜/시간을 변경하면서 데이터 분석작업을 편하게 할 수 있다.

캔버스

: 인포그래픽 형태로 데이터를 프레젠 테이션할 수 있게 해주는 툴이다.
캔버스는 간단한 UI 조작을 통해 이미지나 폰트 종류와 크기, 생상까지 변경이 가능하며 캔버스의 문법을 이용하면 더욱 유연하게 화면을 구성할 수 있다.

데이터에 맞춰 인포그래픽 내용도 수정된다.
이때 데이터를 입력 받아야하는데 데이터 소스를 가져오는 방식은 네 가지강 ㅣㅆ다.
1. Timelion
2. Demo DAta
3. ElasticsearchSQL
4. Elasticsearch raw documents
보톤 엘라스틱 SQL로 가져오는게 제일 편함

엘라스틱서치 sql

sql 쿼리로 요청하면 내부적으로 엘라스틱서치의 쿼리 dsl 형태로 변형하고 최적화하는 형태로 동작한다. 6.3버전부터 지원된다.

POST _sql?format=txt
{
	"query": "DESCRIBE kibana_sample_data_flights"
}

format=txt 옵션을 이용하면 sql 쿼리 결과를 json이 아닌 텍스트 형태로 볼 수 있다.

맵스

: 위치 정보가 포함된 데이터를 지도에 올려 시각화해볼 수 있고, 멀티 레이어 기능을 통해 다양한 형태의 지도를 레이어한 화면에서 볼 수 있다.
엘라스틱 서치는 위치/지역 정보를 처리하기 위한 데이터 타입과 쿼리를 지원하는데 온라인 문서에서 확인ㅇ할 수 있다.

위치/지역 데이터를 시각화하는 방법을 ㅏ알려죽엥

레이어 추가
1. 벡터레이어
; 점, 선, 폴리곤 등을 표현할 수있다.
2. 타일 서비스
: 타일 서버에서 제공하는 타일 서비스를 사용할 수 있다.
Configured GeoJson과 configuredTile Map service는 키바나 설정 파일인 kibana.yml을 수정해야 보이는 메뉴이다.

사용자가 만든 geoJson 파일을 가져오려면 웹서버가 필요하다..
위치는 단순 좌표이고 지역은 위치가 모여서 만드는 폴리곤으로 키바나에서는 벡터 레이어라고 하낟. https://maps.elastic.co 에서 확인할 수 ㅣㅇㅆ다.
한국에 대해서는 시도와 시군구 단위의 폴리곤을 제공한다.
하지만 행정동 단위나 우편번호 단위 혹은 사용자가 만든 형태 등 다양한 벡터 레이어가 필요하다. 우리는 서울시 우편번호 폴리곤이 담겨있는 GeoJson 파일을 벡터 레이어로 사용하는 방법을 배운다.
책의 깃헙 사이트에서 받을 수 있다.

클러스터와 그리드

grid 레이어는 사각형 격자 형태
클러스터는 원형 형태로 보인다.

GeoJson 적용하기

GeoJSON은 JSON 형태로 표현하는 표준 포맷이다.
타입과 좌표를 이용해 영역을 표시하고 프로퍼티에 설명을 적을 수 있다.

타일맵 서비스

0개의 댓글