Kibana/OpenSearch 활용
    • PDF

    Kibana/OpenSearch 활용

    • PDF

    Article Summary

    VPC 환경에서 이용 가능합니다.

    Kibana 및 OpenSearch Dashboards는 Elasticsearch 및 OpenSearch 클러스터에 저장된 데이터를 시각화하고 탐색하는 오픈소스 인터페이스입니다. 데이터를 활용하여 다양한 차트를 생성하고 클러스터를 관리할 수 있습니다. Search Engine Service는 Elasticsearch 클러스터에 대해 버전 7.7.0의 Kibana를, OpenSearch 클러스터에 대해 버전 1.3.3의 OpenSearch Dashboards를 지원합니다. Kibana/OpenSearch 활용에서 설명하는 내용은 다음과 같습니다.

    • Kibana 시작: Kibana 접속 방법, 기본 화면 안내
    • OpenSearch Dashboards 시작: OpenSearch Dashboards 접속 방법, 기본 화면 안내
    • Dev Tools: 간편하게 API를 호출할 수 있는 Dev Tools 메뉴의 Console 안내
    • 데이터 관리: API를 활용한 데이터 저장 및 조회, 인덱스 패턴 생성, Discover 메뉴에서 데이터를 검색하는 방법 안내
    • 스냅샷 관리: API를 활용한 스냅샷 생성, 스냅샷 생성 실패 원인 확인, 스냅샷을 이용한 데이터 복원, 스냅샷 삭제 방법 안내
    참고
    • 여기에서는 Kibana 및 OpenSearch Dashboards의 기능 중 Search Engine Service를 활용하기 위해 자주 사용하는 일부 기능에 대해서만 설명합니다.
    • Kibana에 관한 자세한 내용은 Kibana Guide를 참조해 주십시오.
    • OpenSearch Dashbords에 관한 자세한 내용은 OpenSearch Dashbords를 참조해 주십시오.

    Kibana 시작

    Kibana 이용을 위해서 먼저 Kibana에 접속해야 합니다. 로그인 후 Kibana의 다양한 메뉴를 확인할 수 있습니다.

    Kibana 접속

    Elasticsearch 클러스터를 생성하면 자동으로 매니저 노드에 Kibana가 설치되고 실행됩니다.

    참고

    외부에서 Kibana에 접속하기 전 다음 사항을 확인해 주십시오.

    • 매니저 노드 접속을 설정해야 합니다. 매니저 노드에 SSH 접속의 1. Target Group 생성~4. 매니저 노드의 ACG 설정을 진행해 주십시오.
    • 매니저 노드에 연결된 로드 밸런서 IP 주소를 확인해 주십시오.
      • 콘솔의 Services > Networking > Load Balancer > Load Balancer 메뉴에서 해당 로드 밸런서의 접속 정보를 확인해 주십시오.
    • Kibana 접속 ID와 패스워드를 확인해 주십시오.
      • Cluster > 클러스터 관리 > 접속 패스워드 초기화 메뉴에서 ID 확인 및 패스워드 설정할 수 있습니다.

    외부에서 Kibana에 접속하는 방법은 다음과 같습니다.

    1. 웹 브라우저에서 '로드 밸런서 IP 주소:80'에 접속해 주십시오.
      • 80번 포트로 포워딩된 5601번 포트에 접속합니다.
    2. 다음과 같은 창이 나타나면 Kibana 접속 정보를 입력한 후 [로그인] 버튼을 클릭해 주십시오.
      ses-kibana-vpc_login_ko
      • 사용자 이름: Kibana 접속 ID 입력
      • 암호: Kibana 접속 패스워드 입력
      • 로그인 후 처음 나타나는 화면에서 [Try our sample data] 버튼을 클릭하면 샘플 데이터를 사용할 수 있습니다.

    Kibana 화면

    Kibana 화면의 기본적인 설명은 다음과 같습니다.
    ses-kibana-vpc_screen

    영역설명
    ① Home, 메뉴명
  • i-ses-kibanahome: 클릭하여 Home 화면으로 이동
  • 현재 확인 중인 메뉴 이름
  • ② Kibana 메뉴
  • Recently viewed: 최근에 조회한 데이터 확인
  • Discover: 저장한 데이터 검색(데이터 검색 참조)
  • Visualize: 데이터를 시각화하고 대시보드에 추가
  • Dashboard: 여러 시각화 도구와 검색 결과를 한눈에 확인
  • Dev Tools: API를 활용하여 데이터 관리(Dev Tools 참조)
  • Management: 인덱스 패턴, 저장된 객체, Kibana 세부 설정 관리
  • ③ Kibana 정보
  • i-ses-kibanahelp: 클릭하여 Kibana 버전, Kibana 가이드 및 외부 리소스 링크 확인
  • i-ses-kibananews: 클릭하여 Kibana 관련 소식 확인
  • OpenSearch Dashboards 시작

    OpenSearch Dashboards 이용을 위해서 먼저 OpenSearch Dashboards에 접속해야 합니다. 로그인 후 OpenSearch Dashboards의 다양한 메뉴를 확인할 수 있습니다.

    OpenSearch Dashboards 접속

    OpenSearch 클러스터를 생성하면 자동으로 매니저 노드에 OpenSearch Dashboards가 설치되고 실행됩니다.

    참고

    외부에서 Kibana에 접속하기 전 다음 사항을 확인해 주십시오.

    • 매니저 노드 접속을 설정해야 합니다. 매니저 노드에 SSH 접속의 1. Target Group 생성 ~ 4. 매니저 노드의 ACG 설정을 진행해 주십시오.
    • 매니저 노드에 연결된 로드 밸런서 IP 주소를 확인해 주십시오.
      • 콘솔의 Services > Networking > Load Balancer > Load Balancer 메뉴에서 해당 로드 밸런서의 접속 정보를 확인해 주십시오.
    • Kibana 접속 ID와 패스워드를 확인해 주십시오.
      • Cluster > 클러스터 관리 > 접속 패스워드 초기화 메뉴에서 ID 확인 및 패스워드 설정할 수 있습니다.

    외부에서 OpenSearch Dashboards에 접속하는 방법은 다음과 같습니다.

    1. 웹 브라우저에서 '로드 밸런서 IP 주소:80'에 접속해 주십시오.
      • 80번 포트로 포워딩된 5601번 포트에 접속합니다.
    2. 다음과 같은 창이 나타나면 OpenSearch Dashboards 접속 정보를 입력한 후 [Log In] 버튼을 클릭해 주십시오.
      ses-kibana-vpc_opensearchlogin
      • Username: OpenSearch Dashboards 접속 ID 입력
      • Password: OpenSearch Dashboards 접속 패스워드 입력
      • 로그인 후 처음 나타나는 화면에서 [Add data] 버튼을 클릭하면 샘플 데이터를 사용할 수 있습니다.

    OpenSearch Dashboards 화면

    OpenSearch Dashboards 화면의 기본적인 설명은 다음과 같습니다.
    ses-kibana-vpc_opensearchscreen

    영역설명
    ① 기본 메뉴
  • Home: Home 화면으로 이동
  • Recently viewed: 최근에 조회한 데이터 확인
  • OpenSearch Dashboards
  • Overview: OpenSearch Dashboards에 대한 개요
  • Discover: 저장한 데이터 검색(데이터 검색 참조)
  • Dashboard: 여러 시각화 도구와 검색 결과를 한눈에 확인
  • Visualize: 데이터를 시각화하고 대시보드에 추가
  • OpenSearch Plugins
  • Query Workbench: SQL Query를 실행
  • Reporting: PDF 또는 PNG 형태의 보고서 작성
  • Alerting: 알람 설정 기능
  • Anomaly Detection: 이상 탐지 기능
  • Observability: PPL(Pipeline Processing Language)를 사용한 데이터 기반 이벤트 시각화
  • Index Management: 인덱스 관리 자동화
  • Security: 인증, 권한 제어 및 계정 관리
  • Management
  • Dev Tools: API를 활용하여 데이터 관리(Dev Tools 참조)
  • Stack Management: 인덱스 패턴, 저장된 객체, OpenSearch Dashboards 세부 설정 관리
  • Dev Tools

    Dev Tools 메뉴의 Console을 이용하여 간편하게 API를 활용하고 요청에 대한 결과를 얻을 수 있습니다. Dev Tools 화면의 기본적인 설명은 다음과 같습니다.
    ses-kibana-vpc_console

    영역설명
    ① Console 기능
  • History: 과거에 실행한 명령어 확인, 재실행
  • Settings: Console 환경 설정
  • Help: Console에서 사용 가능한 단축키 안내
  • ② 입력 영역명령어 입력 영역
    • i-ses-kibanarun: 클릭하여 입력한 명령어 실행
      • [Ctrl]+[Enter] 키를 눌러 명령어 실행 가능
    • i-ses-kibanaaction: 클릭하여 다음 메뉴 표시
      • Copy as cURL: 입력한 명령어를 curl 명령어 형식으로 변환하여 클립보드에 복사
      • Open documentation: 입력한 명령어에 해당하는 API에 관한 문서 표시
      • Auto indent: 입력한 명령어에 자동으로 공백 추가/삭제
    ③ 결과 영역명령어를 실행한 결과 표시

    데이터 관리

    Kibana 및 OpenSearch Dashboards를 이용하여 데이터를 관리할 수 있습니다. Dev Tools 메뉴의 Console에서 API를 통해 데이터를 저장 및 조회할 수 있습니다. 또한 인덱스 패턴을 생성하고 클러스터에 저장된 데이터를 검색할 수 있습니다.

    데이터 저장

    API를 통해 데이터를 저장하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Dev Tools 메뉴를 클릭해 주십시오.
    2. Console에서 API를 호출하여 데이터를 저장해 주십시오.
      • 우측 화면에 저장 결과가 나타납니다.
      • <예시1> 인덱스 test에 name, dept 필드를 가진 데이터를 저장
        PUT test/_doc/1
        {
            "name" : "asd",
            "dept" : "Document Management"
        }
        
      • <예시2> 데이터 없이 Priamry Shard가 3개, Replica Shard가 1개인 인덱스 생성
        PUT my_index
        {
        "settings": {
           "index": {
              "number_of_shards": 3,
              "number_of_replicas": 1
           }
        }
        }
        

    데이터 조회

    API를 통해 클러스터에 저장된 데이터를 조회하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Dev Tools 메뉴를 클릭해 주십시오.
    2. Console에서 API를 호출하여 데이터를 조회해 주십시오.
      • 우측 화면에 검색 결과가 나타납니다.
      • <예시> 인덱스 test에 있는 데이터 조회
        GET test/_search
        {
            "query" : {
                "match_all" : {}
            }
        }
        

    인덱스 패턴 생성

    Kibana 및 OpenSearch Dashboards에서 인덱스를 사용하기 위해서는 먼저 인덱스 패턴을 생성해야 합니다. 인덱스 패턴을 통해 여러 인덱스의 데이터를 한 번에 조회하고 관리할 수 있습니다.

    참고

    인덱스 패턴을 생성하려면 클러스터에 데이터가 저장되어 있어야 합니다.

    인덱스 패턴을 생성하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Management 또는 Stack Management 메뉴를 클릭해 주십시오.
    2. Index Patterns 메뉴를 클릭해 주십시오.
    3. [Create index pattern] 버튼을 클릭해 주십시오.
    4. Kibana 및 OpenSearch Dashboards에서 확인하기 위한 인덱스 패턴을 입력해 주십시오.
      • 입력한 인덱스 패턴에 해당하는 인덱스가 나타납니다.
    5. [Next step] 버튼을 클릭해 주십시오.
    6. Configure settings 내용을 확인하고 [Create index pattern] 버튼을 클릭해 주십시오.
      • 날짜/시간 데이터가 있을 경우 Time Filter field name 또는 Time field에서 해당 필드를 선택해 주십시오.
      • 생성한 인덱스 패턴에 대한 정보가 표시됩니다.

    데이터 검색

    Kibana 및 OpenSearch Dashboards의 Discover 메뉴에서 클러스터에 저장된 데이터를 검색할 수 있습니다.

    참고

    데이터를 검색하려면 먼저 인덱스 패턴을 생성해야 합니다.

    클러스터의 데이터를 검색하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Discover 메뉴를 클릭해 주십시오.
    2. 드롭다운 메뉴에서 조회할 인덱스 패턴을 선택해 주십시오.
      • 선택한 인덱스 패턴에 포함된 인덱스의 데이터가 나타납니다.
        ses-kibana-vpc_discover
    3. 검색창에 검색어(<예시> name:asd)를 입력하고 [Enter] 키를 눌러 검색 결과를 확인해 주십시오.
      • 필드를 선택하여 원하는 필드의 정보만 확인할 수 있습니다.

    스냅샷 관리

    Kibana 및 OpenSearch Dashboards의 Dev Tools 메뉴의 Console을 이용하여 스냅샷을 생성하고 삭제할 수 있습니다. 스냅샷 생성 실패 시 실패 원인을 파악하거나, 생성한 스냅샷을 이용하여 데이터를 복원할 수 있습니다.

    참고
    • 일본 리전에서는 스냅샷 관련 기능을 지원하지 않습니다.
    • Object Storage에 스냅샷을 생성하고 관리하려면 API 인증키를 설정해야 합니다.

    Elasticsearch 및 OpenSearch API를 통해 스냅샷 생성

    스냅샷을 저장하는 폴더명을 변경하고 싶은 경우 또는 콘솔에서 타임아웃 등의 이유로 스냅샷 생성이 실패하는 경우, Kibana 및 OpenSearch Dashboards에서 Elasticsearch 및 OpenSearch API를 통해 직접 스냅샷을 생성할 수 있습니다.

    • 단, Elasticsearch 및 OpenSearch API를 통해 스냅샷을 직접 생성하는 경우 콘솔에서 스냅샷 생성 내역을 확인할 수 없습니다.

    Elasticsearch 및 OpenSearch API를 통해 직접 스냅샷을 생성하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Dev Tools 메뉴를 클릭해 주십시오.

    2. Console에서 다음 명령어를 실행하여 repository를 생성해 주십시오.

      PUT _snapshot/my-own-snapshot-repository
      {    
          "type" : "s3",
          "settings": {        
                      "region" : "kr",
                      "endpoint" : "https://kr.object.private.ncloudstorage.com", 
                      "bucket": "estest",  
                      "compress": true,
                      "base_path": "my-folder",  
                      "path_style_access": true
          }
      }
      
      • my-own-snapshot-repository: 원하는 repository 이름 입력
      • base_path: 원하는 폴더명 입력
        • 다른 클러스터가 사용 중인 폴더명을 입력할 경우, 스냅샷 파일이 정상 작동하지 않을 수 있습니다.
      • region
        • 한국 리전인 경우: kr
        • 싱가포르 리전인 경우: sgn
      • endpoint
        • 한국 리전인 경우: https://kr.object.private.ncloudstorage.com
        • 싱가포르 리전인 경우: https://sg.object.private.ncloudstorage.com
    3. Console에서 다음 명령어를 실행하여 스냅샷 생성 API를 호출해 주십시오.

      POST _snapshot/my-own-snapshot-repository/my-own-snapshot-name
      
      • my-own-snapshot-repository: 2.에서 생성한 repository 이름 입력
      • my-own-snapshot-name: 원하는 스냅샷 이름을 입력
      • 다음과 같이 인덱스를 지정하여 API를 호출할 경우, 원하는 인덱스에 대해서만 스냅샷을 생성할 수 있습니다.
        PUT _snapshot/my-own-snapshot-repository/my-own-snapshot-name
        {
        "indices": "myindex, myindex2"
        }
        
      • 생성한 스냅샷은 Object Storage 내 지정한 경로에서 확인할 수 있습니다.

    스냅샷 생성 실패 원인 확인

    Kibana 및 OpenSearch Dashboards에서 스냅샷 생성 실패 원인을 확인하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Dev Tools 메뉴를 클릭해 주십시오.
    2. Console에서 GET _snapshot 명령어를 실행한 후 생성 실패한 스냅샷의 repository를 확인해 주십시오.
      • 우측 화면에 repository 목록이 나타납니다.
    3. 다음 명령어를 실행하여 해당 스냅샷의 자세한 상태를 확인해 주십시오.
      GET _snapshot/"스냅샷의 repository"/"스냅샷 이름"
      

    스냅샷 복원

    스냅샷을 이용하여 클러스터의 데이터를 복구하거나 한 클러스터에서 다른 클러스터로 데이터를 이동시킬 수 있습니다.

    참고

    스냅샷 복원을 하려면 먼저 복원할 스냅샷이 생성되어 있어야 합니다. (스냅샷 생성 또는 Elasticsearch 및 OpenSearch API를 통해 스냅샷 생성 참조)

    스냅샷 복원을 하는 방법은 다음과 같습니다.

    1. Kibana 및 OpenSearch Dashboards에서 Dev Tools 메뉴를 클릭해 주십시오.
    2. Console에서 다음 명령어를 실행하여 복원할 repository를 생성해 주십시오.
      PUT _snapshot/restore-repository
      {  
      "type" : "s3",  
      "settings": {    
         "region" : "kr",    
         "endpoint" : "https://kr.object.private.ncloudstorage.com",
         "bucket": "estest",
         "compress": true,
         "base_path": "estest-1722213",
         "path_style_access": true
      }
      }
      
      • region

        • 한국 리전인 경우: kr
        • 싱가포르 리전인 경우: sgn
      • endpoint

        • 한국 리전인 경우: https://kr.object.private.ncloudstorage.com
        • 싱가포르 리전인 경우: https://sg.object.private.ncloudstorage.com
      • bucket: 복원할 스냅샷이 존재하는 버킷명

      • base_path: 복원할 스냅샷이 위치하는 폴더 이름(클러스터 이름-클러스터 번호)

      • 다음 명령어를 실행하여 repository가 정상적으로 생성되었는지 확인할 수 있습니다.

        GET _snapshot
        
      • 다음 명령어를 실행하여 repository에 존재하는 스냅샷 목록을 확인할 수 있습니다.

        GET _cat/snapshots/restore-repository
        
    3. 다음 명령어를 실행하여 스냅샷에 존재하는 복원 가능한 인덱스 목록을 확인해 주십시오.
      GET _snapshot/restore-repository/"스냅샷 이름"
      
    4. 다음 명령어를 실행하여 현재 클러스터에 존재하는 인덱스 목록을 확인해 주십시오.
      • 복원할 인덱스와 이름이 동일한 인덱스가 현재 클러스터에 존재하는 경우, 해당 인덱스는 복원할 수 없습니다.
      GET _cat/indices
      
    5. 명령어를 실행하여 원하는 인덱스에 대해 복원해 주십시오.
      • 특정 인덱스에 대해 복원
        • <예시> metricbeat-7.7.0-2021.06.23에 대해 복원
          POST _snapshot/restore-repository/test4/_restore
          {
          "indices": "metricbeat-7.7.0-2021.06.23",
          "ignore_unavailable": true
          }
          
      • 와일드카드(*)를 사용하여 복수의 인덱스에 대해 복원
        • <예시> metricbeat로 시작하는 모든 인덱스에 대해 복원
          POST _snapshot/restore-repository/test4/_restore
          {
          "indices": "metricbeat*",
          "ignore_unavailable": true
          }
          
      • 특정 인덱스를 제외한 모든 인덱스에 대해 복원
        • <예시> kibana를 제외한 모든 인덱스에 대해 복원
          POST _snapshot/restore-repository/test4/_restore
          {
          "indices": "-.kibana*",
          "ignore_unavailable": true
          }
          
      • "indices": "*"로 설정할 경우, 모든 인덱스에 대해 복원을 시도하며 중복되는 인덱스가 존재할 경우 복원에 실패합니다.
    6. 다음 명령어를 실행하여 인덱스가 정상적으로 복원되었는지 확인해 주십시오.
      • 복원 직후에는 일시적으로 인덱스의 상태가 yellow, 클러스터의 상태가 경고 상태가 될 수 있습니다.
      GET _cat/indices
      

    스냅샷 삭제

    1. Kibana 및 OpenSearch Dashboards에서 Dev Tools 메뉴를 클릭해 주십시오.
    2. Console에서 다음 명령어를 실행하여 스냅샷을 삭제해 주십시오.
      DELETE _snapshot/restore-repository/test4
      
      • 다음 명령어를 실행하여 스냅샷이 삭제되었는지 확인할 수 있습니다.
        GET _cat/snapshots/restore-repository
        
    참고

    내용량이 큰 스냅샷을 삭제할 경우, 타임아웃 응답이 발생할 수 있습니다. 소요 시간이 30초가 초과되어 발생하는 현상으로, 스냅샷 삭제는 background에서 정상적으로 이루어집니다.


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.