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] ボタンをクリックします。
      i-ses-kibananews
      • Username: OpenSearch Dashboardsアクセス IDを入力
      • Password: OpenSearch Dashboardsアクセスパスワードを入力
      • ログイン後に最初に表示される画面で [Add data] ボタンをクリックすると、サンプルデータを使用できます。

    OpenSearch Dashboards 画面

    OpenSearch Dashboardsの画面の基本的な説明は次の通りです。
    ses-kibana-vpc_opensearchlogin

    領域説明
    ① 基本メニュー
  • 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. ドロップダウンメニューで照会するインデックスパターンを選択します。
      • 選択したインデックスパターンに含まれたインデックスのデータが表示されます。
        i-ses-kibanaaction
    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"/"スナップショット名前"
      

    スナップショットの復元

    スナップショットを利用してクラスタのデータを回復したり、1つのクラスタから別のクラスタにデータを移動させたりできます。

    参考

    スナップショットを復元するには、まず復元するスナップショットが作成されている必要があります(スナップショットの作成または 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.