웹사이트 검색

Kibana 대시보드 및 시각화 사용 방법


소개

Kibana 4는 데이터를 더 잘 이해할 수 있도록 Elasticsearch를 기반으로 하는 분석 및 시각화 플랫폼입니다. 이 튜토리얼에서는 Kibana의 인터페이스를 사용하여 Elasticsearch ELK 스택에서 수집한 로그 메시지를 필터링하고 시각화하는 방법을 보여줌으로써 Kibana를 시작할 수 있도록 안내합니다. 주요 인터페이스 구성 요소를 다루고 검색, 시각화 및 대시보드를 만드는 방법을 시연합니다.

전제 조건

이 튜토리얼은 Logstash 및 Kibana를 사용한 중앙 집중식 로깅 시리즈의 세 번째 부분입니다.

작동 중인 ELK 설정이 있다고 가정합니다. 예제에서는 syslog 및 Nginx 액세스 로그를 수집한다고 가정합니다. 이러한 유형의 로그를 수집하지 않는 경우 자신의 로그 메시지와 함께 작동하도록 데모를 수정할 수 있어야 합니다.

이 튜토리얼을 제시된 대로 정확하게 따르려면 이 시리즈의 처음 두 튜토리얼을 따라 다음 설정이 있어야 합니다.

  • syslog를 수집하는 ELK 스택: Ubuntu 14.04에 Elasticsearch, Logstash 및 Kibana 4를 설치하는 방법
  • Nginx 액세스 로그 및 필터: Logstash 필터를 추가하여 중앙 집중식 로깅 개선

계속 진행할 준비가 되면 Kibana 인터페이스의 개요를 살펴보겠습니다.

Kibana 인터페이스 개요

Kibana 인터페이스는 네 가지 주요 섹션으로 나뉩니다.

  • 발견
  • 시각화
  • 대시보드
  • 설정

나열된 순서대로 각 섹션의 기본 사항을 살펴보고 인터페이스의 각 부분을 어떻게 사용할 수 있는지 보여줍니다.

키바나 디스커버

Kibana 4에 처음 연결하면 검색 페이지로 이동합니다. 기본적으로 이 페이지에는 ELK 스택의 가장 최근 수신 로그가 모두 표시됩니다. 여기에서 검색 쿼리를 기반으로 특정 로그 메시지를 필터링하고 찾은 다음 시간 필터를 사용하여 검색 결과를 특정 시간 범위로 좁힐 수 있습니다.

다음은 Kibana Discover 인터페이스 요소에 대한 분석입니다.

  • 검색창: 기본 탐색 메뉴 바로 아래에 있습니다. 이를 사용하여 특정 필드 및/또는 전체 메시지를 검색합니다.
  • 시간 필터: 오른쪽 상단(시계 아이콘). 이를 사용하여 다양한 상대 및 절대 시간 범위를 기반으로 로그를 필터링합니다.
  • Field Selector: 왼쪽, 검색창 아래. 로그 보기
  • 에 표시되는 필드를 수정하려면 필드를 선택하십시오.\n
  • 날짜 히스토그램: 검색 표시줄 아래의 막대 그래프입니다. 기본적으로 이것은 검색 및 시간 필터와 일치하는 시간(x축)에 대한 모든 로그의 수를 표시합니다. 막대를 클릭하거나 클릭 앤 드래그하여 시간 필터의 범위를 좁힐 수 있습니다.
  • 로그 보기: 오른쪽 하단. 이를 사용하여 개별 로그 메시지를 보고 필드로 필터링된 로그 데이터를 표시합니다. 필드를 선택하지 않으면 전체 로그 메시지가 표시됩니다.

이 애니메이션은 Discover 페이지의 몇 가지 주요 기능을 보여줍니다.

다음은 수행 중인 작업에 대한 단계별 설명입니다.

  1. 각 로그 기록(오른쪽 아래)에 대해 표시되는 항목을 제한하는 "유형\ 필드를 선택했습니다. 기본적으로 전체 로그 메시지가 표시됩니다.
  2. Nginx 액세스 로그와만 일치하는 type: \nginx-access\ 검색
  3. 가장 최근 Nginx 액세스 로그를 확장하여 더 자세히 확인

결과는 "지난 15분\으로 제한됩니다. 결과를 얻지 못한 경우 지정된 기간에 생성된 검색어와 일치하는 로그가 있는지 확인하십시오.

수집되고 필터링되는 로그 메시지는 Logstash 및 Logstash Forwarder 구성에 따라 다릅니다. 이 예에서는 syslog 및 Nginx 액세스 로그를 수집하고 "유형\별로 필터링합니다. 로그 메시지를 수집하지만 데이터를 개별 필드로 필터링하지 않으면 로그 메시지를 쿼리할 수 없으므로 쿼리가 더 어려워집니다. 특정 필드를 쿼리합니다.

검색 구문

검색은 로그 메시지의 특정 하위 집합을 선택하는 쉽고 강력한 방법을 제공합니다. 검색 구문은 매우 자명하며 부울 연산자, 와일드카드 및 필드 필터링을 허용합니다. 예를 들어 Google Chrome 사용자가 생성한 Nginx 액세스 로그를 찾으려면 type: \nginx-access\ AND agent: \chrome\을 검색하면 됩니다. 특정 호스트나 클라이언트 IP 주소 범위 또는 로그에 포함된 기타 데이터로 검색할 수도 있습니다.

유지하려는 검색 쿼리를 생성한 경우 이 애니메이션과 같이 검색 저장 아이콘을 클릭한 다음 저장 버튼을 클릭하면 됩니다.

저장된 검색은 Load Saved Search 아이콘을 클릭하여 언제든지 열 수 있으며 시각화를 생성할 때도 사용할 수 있습니다.

type: \nginx-access\ 검색을 "type nginx access\로 저장하고 이를 사용하여 시각화를 생성합니다.

Kibana 시각화

Kibana 시각화 페이지는 사용자 정의 시각화를 생성, 수정 및 볼 수 있는 곳입니다. 수직 막대파이 차트에서 타일 지도(지도에 데이터 표시용) 및 에 이르기까지 다양한 유형의 시각화가 있습니다. >데이터 테이블. Kibana 인스턴스에 액세스할 수 있는 다른 사용자와 시각화를 공유할 수도 있습니다.

Kibana 시각화를 처음 사용하는 경우 진행하기 전에 필드 목록을 다시 로드해야 합니다. 이를 수행하는 지침은 Kibana 설정 섹션 아래의 필드 데이터 다시 로드 하위 섹션에서 다룹니다.

수직 막대 차트 만들기

시각화를 만들려면 먼저 시각화 메뉴 항목을 클릭합니다.

원하는 시각화 유형을 결정하고 선택합니다. 좋은 출발점인 수직 막대 차트를 만들 것입니다.

이제 검색 소스를 선택해야 합니다. 새 검색을 만들거나 저장된 검색을 사용할 수 있습니다. 후자의 방법을 사용하고 이전에 생성한 nginx 액세스 검색 유형을 선택합니다.

처음에 오른쪽의 미리보기 그래프는 "카운트\의 Y축으로만 구성되어 있기 때문에 (검색에서 로그 메시지를 찾았다고 가정할 때) 단색 막대가 됩니다. 즉, 단순히 숫자를 표시하는 것입니다. 지정된 검색 쿼리로 발견된 로그 수.

시각화를 더 유용하게 만들기 위해 몇 가지 새 버킷을 추가해 보겠습니다.

먼저 X축 버킷을 추가한 다음 집계 드롭다운 메뉴를 클릭하고 "날짜 히스토그램\을 선택합니다. 적용 버튼을 클릭하면 단일 막대가 X축을 따라 여러 개의 막대로 분할됩니다. 이제 개수는 시간 간격으로 나누어진 여러 막대로 표시됩니다(드롭다운에서 간격을 선택하여 수정할 수 있음). Discover 페이지에서 보는 것과 유사합니다.

그래프를 좀 더 흥미롭게 만들고 싶다면 Add Sub Aggregation 버튼을 클릭하면 됩니다. Split Bars 버킷 유형을 선택합니다. 하위 집계 드롭다운 메뉴를 클릭하고 "중요 용어\를 선택한 다음 필드 드롭다운 메뉴를 클릭하고 "clientip.raw\를 선택한 다음 크기 필드를 클릭하고 "10\을 입력합니다. 적용 버튼을 클릭하여 새 그래프를 만듭니다.

이 시점에서 볼 수 있는 스크린샷은 다음과 같습니다.

시각화 중인 로그가 여러 IP 주소에 의해 생성된 경우(즉, 두 명 이상의 사용자가 사이트에 액세스하는 경우) 각 막대가 색상 세그먼트로 구분되는 것을 볼 수 있습니다. 각 색상 세그먼트는 특정 IP 주소(즉, 사이트의 특정 방문자)에 의해 생성된 로그 수를 나타내며 그래프에는 크기 설정으로 인해 최대 10개의 서로 다른 세그먼트가 표시됩니다. 마우스를 올려 그래프의 항목을 클릭하면 특정 로그 메시지로 드릴다운할 수 있습니다.

시각화를 저장할 준비가 되면 상단 근처에 있는 시각화 저장 아이콘을 클릭한 다음 이름을 지정하고 저장 버튼을 클릭합니다.

다른 시각화 만들기

대시보드를 만드는 방법을 시연할 다음 섹션으로 계속 진행하기 전에 시각화를 하나 이상 더 만들어야 합니다. 다양한 시각화 유형을 시도하고 탐색하십시오.

예를 들어 상위 5개(가장 많은 수) 로그 "유형\의 파이 차트를 생성할 수 있습니다. 이렇게 하려면 시각화를 클릭한 다음 파이 차트를 선택합니다. 그런 다음 새 검색을 사용하고 검색을 "*\로 둡니다( 즉, 모든 로그). 그런 다음 Split Slices 버킷을 선택합니다. 집계 드롭다운을 클릭하고 "유의미한 용어\를 선택하고 필드 드롭다운을 클릭하고 "type.raw\를 선택한 다음 크기 필드를 클릭하고 "5\를 입력합니다. 이제 적용 버튼을 클릭하고 시각화를 저장합니다. \상위 5개로.

방금 설명한 설정의 스크린샷은 다음과 같습니다.

이 예에서는 syslog와 Nginx 액세스 로그만 수집하기 때문에 원형 차트에는 두 개의 조각만 있습니다.

시각화 생성을 완료했으면 Kibana 대시보드 생성으로 이동하겠습니다.

키바나 대시보드

Kibana 대시보드 페이지는 사용자 지정 대시보드를 생성, 수정 및 볼 수 있는 곳입니다. 대시보드를 사용하면 여러 시각화를 단일 페이지에 결합한 다음 검색 쿼리를 제공하거나 시각화에서 요소를 클릭하여 필터를 선택하여 필터링할 수 있습니다. 대시보드는 로그 개요를 확인하고 다양한 시각화 및 로그 간의 상관관계를 확인하려는 경우에 유용합니다.

대시보드 만들기

Kibana 대시보드를 생성하려면 먼저 대시보드 메뉴 항목을 클릭합니다.

이전에 대시보드를 생성한 적이 없다면 "시작할 준비가 되셨습니까?\라는 거의 빈 페이지가 표시됩니다. 이 화면이 보이지 않으면(즉, 대시보드에 이미 시각화가 있는 경우) 새로 만들기 대시보드 아이콘(검색 표시줄 오른쪽)으로 이동할 수 있습니다.

이 애니메이션은 대시보드에 시각화를 추가하는 방법을 보여줍니다.

다음은 수행 중인 단계에 대한 분석입니다.

  1. 시각화 추가 아이콘을 클릭했습니다
  2. "로그 수\ 파이 차트 및 "Nginx: 상위 10개 클라이언트 IP\ 히스토그램 추가
  3. 시각화 추가 메뉴 축소
  4. 대시보드에서 시각화 재정렬 및 크기 조정
  5. 대시보드 저장 아이콘을 클릭

대시보드를 저장하기 전에 이름을 선택하십시오.

이렇게 하면 대시보드를 만드는 방법에 대한 좋은 아이디어를 얻을 수 있습니다. 계속해서 원하는 대시보드를 만드세요. 다음에는 대시보드 사용에 대해 다룹니다.

대시보드 사용

검색 쿼리를 입력하거나 시간 필터를 변경하거나 시각화 내의 요소를 클릭하여 대시보드를 추가로 필터링할 수 있습니다.

예를 들어 히스토그램에서 특정 색상 세그먼트를 클릭하면 Kibana에서 세그먼트가 나타내는 중요한 용어를 필터링할 수 있습니다. 다음은 대시보드에 필터를 적용하는 예시 스크린샷입니다.

지금 적용 버튼을 클릭하여 결과를 필터링하고 대시보드의 시각화를 다시 그려야 합니다. 필요에 따라 필터를 적용하고 제거할 수 있습니다.

검색 및 시간 필터는 대시보드에 표시되는 데이터 하위 집합에만 적용된다는 점을 제외하면 검색 페이지에서와 동일하게 작동합니다.

키바나 설정

Kibana 설정 페이지에서는 기본값이나 인덱스 패턴과 같은 다양한 항목을 변경할 수 있습니다. 이 자습서에서는 간단하게 유지하고 인덱스 및 개체 섹션에 중점을 둡니다.

필드 데이터 다시 로드

Logstash 데이터에 새 필드를 추가할 때(예: 새 로그 유형에 대한 필터를 추가하는 경우 필드 목록을 다시 로드해야 할 수 있습니다. 이 데이터는 주기적으로만 캐시되므로 Kibana에서 필터링된 필드를 찾을 수 없는 경우 필드 목록을 다시 로드해야 합니다.

이렇게 하려면 설정 메뉴 항목을 클릭한 다음 "logstash-*\(인덱스 패턴 아래)를 클릭하십시오.

그런 다음 노란색 필드 목록 다시 로드 버튼을 클릭합니다. 확인 버튼을 눌러 확인합니다.

저장된 개체 편집

개체 섹션에서는 저장된 대시보드, 검색 및 시각화를 편집, 보기 및 삭제할 수 있습니다.

거기에 가려면 설정 메뉴 항목을 클릭한 다음 개체 하위 메뉴를 클릭합니다.

여기에서 탭에서 선택하여 편집, 보기 또는 삭제할 개체를 찾을 수 있습니다.

스크린샷에서 중복 시각화를 선택했습니다. 해당 버튼을 클릭하여 편집, 보기 또는 삭제할 수 있습니다.

결론

이 자습서를 따랐다면 Kibana 4 사용 방법을 잘 이해하고 있어야 합니다. 로그 메시지를 검색하고 시각화 및 대시보드를 생성하는 방법을 알아야 합니다.

이 시리즈의 다음 자습서인 GeoIP 및 ELK를 사용하여 사용자 위치를 매핑하는 방법을 확인하십시오.

질문이나 제안 사항이 있으면 의견을 남겨주세요!