Kibanaの活用
    • PDF

    Kibanaの活用

    • PDF

    Article Summary

    Classic環境で利用できます。

    Kibanaは、Elasticsearchクラスタに保存されたデータを可視化して探索するオープンソースインターフェースです。データを活用して様々なチャートを作成し、クラスタを管理できます。Kibanaの活用で説明する内容は次の通りです。

    • Kibanaを開始する: Kibanaアクセス方法、メニュー案内
    • Dev Tools: 簡単に APIを呼び出せる Dev Toolsメニューの Console案内
    • データの管理: APIを活用したデータの保存および紹介、インデックスパターンの作成、Discoverメニューでのデータ検索方法の案内
    • スナップショットの管理: APIを活用したスナップショットの作成、スナップショットの作成失敗原因の確認、スナップショットを利用したデータ復元、スナップショット削除方法の案内
    参考
    • ここでは、Kibanaの機能のうち Search Engine Serviceを活用するためによく使用する一部の機能についてのみ説明します。Kibanaに関する詳細については、Kibana Guideをご参照ください。
    • このガイドは、バージョン 6.6.1の Kibanaを基準に作成しました。

    Kibanaの開始

    Kibanaを利用するために、まず Kibanaにアクセスします。ログイン後、Kibanaの様々なメニューを確認できます。

    Kibanaのアクセス

    Search Engine Serviceで Elasticsearchクラスタを作成すると自動的にマネージャノードに Kibanaがインストールされ実行されます。NAVERクラウドプラットフォームコンソールまたはウェブブラウザで Kibanaにアクセスできます。

    参考
    • Kibanaにアクセスする前に Kibanaアクセス IDとパスワードを確認してください。
      • Cluster > クラスタの管理 > Kibanaのアクセスパスワードの初期化メニューで IDの確認とパスワード設定ができます。
    • NAVERクラウドプラットフォームコンソールで Kibanaにアクセスする方法は、Kibanaへアクセスをご参照ください。

    ウェブブラウザで Kibanaにアクセスする方法は、次の通りです。

    1. ウェブブラウザで マネージャーノードグローバル IPアドレス:80にアクセスします。
      • 80番ポートに転送された5601番ポートにアクセスします。
    2. 次のようなウィンドウが表示されたら、Kibanaのアクセス情報を入力し、[ログイン] ボタンをクリックします。
      ses-kibana-classic_login_ko
      • ユーザーの名前: Kibanaのアクセス ID入力
      • パスワード: Kibanaアクセスパスワード入力
      • ログイン後、最初に表示される画面で [Try our sample data] ボタンをクリックするとサンプルデータを使用できます。

    Kibanaのメニュー

    Kibanaのメニュー別の基本的な説明は次の通りです。

    • Discover: 保存したデータの検索(データ検索参照)
    • Visualize: データ可視化ツール
    • Dashboard: 可視化するデータと検索結果を一度に確認
    • Timelion: 時系列データ可視化ツール
    • Dev Tools: APIを活用したデータ管理(Dev Tools参照)
    • Management: インデックスパターン、保存されたオブジェクト、Kibanaの詳細設定管理

    Dev Tools

    Dev Toolsメニューの Consoleを利用して簡単に APIを活用し、リクエストに対する結果を得ることができます。Dev Tools画像の基本的な説明は次の通りです。
    ses-kibana-classic_console

    領域説明
    ① Console可能
  • History: 過去に実行したコマンドの確認、再実行
  • Settings: Console環境の設定
  • Help: Consoleで使用可能なショートカットの案内
  • ② 入力領域コマンド入力領域
    • i-ses-kibanarunclassic: クリックして入力したコマンドを実行
      • [Ctrl]+[Enter] キーでコマンド実行が可能
    • i-ses-kibanaactionclassic: クリックして次のメニューを表示
      • Copy as cURL: 入力したコマンドを curlコマンド形式に変換してクリップボードにコピー
      • Open documentation: 入力したコマンドに該当する APIに関する文書を表示
      • Auto indent: 入力したコマンドに自動的に空白を追加/削除
    ③ 結果領域コマンドを実行した結果の表示

    データの管理

    Kibanaを利用してデータを管理できます。Dev Toolsメニュー Consoleで APIを介してデータの保存および照会ができます。また、インデックスパターンを作成し、クラスタに保存されたデータの検索もできます。

    データの保存

    APIを介してデータを保存する方法は次の通りです。

    1. Kibanaで 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で Dev Toolsメニューをクリックします。
    2. Consoleで APIを呼び出してデータを照会します。
      • 右側の画面に検索結果が表示されます。
      • 例)インデックス testにあるデータ照会
        GET test/_search
        {
            "query" : {
                "match_all" : {}
            }
        }
        

    インデックスパターンの作成

    Kibanaでインデックスを使用するためには、まずインデックスパターンを作成する必要があります。インデックスパターンを介して、複数のインデックスのデータを一度に照会して管理できます。

    参考

    インデックスパターンを作成するには、クラスタにデータが保存されている必要があります。

    インデックスパターンを作成する方法は次の通りです。

    1. Kibanaで Managementメニューをクリックします。
    2. Index Patternsメニューをクリックします。
    3. [Create index pattern] ボタンをクリックします。
    4. Index patternに Kibanaで確認するためのインデックスパターンを入力します。
      • 入力したインデックスパターンに該当するインデックスが表示されます。
    5. [Next step] ボタンをクリックします。
    6. Configure settingsの内容を確認して [Create index pattern] ボタンをクリックします。
      • 日付/時間データがある場合は、Time Filter field nameで該当フィールドを選択します。
      • 作成したインデックスパターンに関する情報が表示されます。

    データの検索

    Kibanaの Discoverメニューでクラスタに保存されたデータを検索できます。

    参考

    データを検索するには、まずインデックスパターンを作成する必要があります。インデックスパターンの作成をご参照ください。

    クラスタデータを検索する方法は次の通りです。

    1. Kibanaで Discoverメニューをクリックします。
    2. ドロップダウンメニューで照会するインデックスパターンを選択します。
      • 選択したインデックスパターンに含まれたインデックスのデータが表示されます。
        i-ses-kibanaactionclassic
    3. 検索ウィンドウに検索キーワード(例) name:asd)を入力し [Enter] キーで検索結果を確認します。
      • フィールドを選択して、必要なフィールドの情報のみを確認できます。

    スナップショットの管理

    Kibanaの Dev Toolsメニューの Consoleを利用してスナップショットの作成と削除ができます。スナップショット作成失敗時に失敗原因を把握したり、作成したスナップショットを利用してデータの復元ができます。

    参考

    Object Storageにスナップショットを作成して管理するには、クラスタのすべてのノー Object Storage Pluginをインストールする必要があります(Object Storage Pluginのインストール参照)。

    Object Storage Pluginのインストール

    クラスタで Object Storageにアクセスするためには、クラスタのすべてのノードに Object Storage Pluginをインストールする必要があります。以下のコマンドを実行してプラグインをインストールします。

    1. マネージャノードに SSH接続した後、次のコマンドを実行します。(SSH接続の詳細は、マネージャノードに SSH接続を参照)
    echo "-Des.allow_insecure_settings=true" | sudo tee -a /etc/elasticsearch/jvm.options
    sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install repository-s3
    
    1. yを入力して Object Storage Pluginをインストールします。
    2. クラスタのすべてのノードに対して 1~2回手順を繰り返して Object Storage Pluginをインストールします。
      • マネージャノードにアクセスした状態で ssh sshuser@データノードの IPアドレスコマンドを実行してから yesを入力すれば、各データノードに SSH接続できます。
        • データノード IPアドレスは、Clusterメニューでクラスタ詳細情報の中の [詳細を表示] ボタンをクリックして確認できます。
      • データノードにアクセスした状態で logoutコマンドを実行すると、マネージャノードに戻ります。
    3. インストールしたプラグインを適用するためにクラスタを再起動してください。(クラスタの再起動を参照)

    Elasticsearch APIを介してのスナップショット作成

    Elasticsearch APIを呼び出してクラスタのスナップショットを作成できます。

    参考
    • まず、クラスタのすべてのノードに Object Storage Pluginをインストールする必要があります。(Object Storage Pluginのインストール参照)
    • まず、Object Storageにスナップショットを保存するバケットを作成する必要があります。バケット作成に関する詳しい内容は、バケットの作成をご参照ください。

    クラスタのスナップショットを作成する方法は次の通りです。

    1. Kibanaで Dev Toolsメニューをクリックします。

    2. Consoleトで以下のコマンドを実行して repositoryを作成します。

      PUT _snapshot/my-own-snapshot-repository
      {    
         "type" : "s3",  
         "settings": {        
               "region" : "kr",
               "endpoint" : "https://kr.object.ncloudstorage.com",
               "bucket": "スナップショットを保存するバケットの名前",
               "path_style_access": "true",
               "access_key":"Access Key ID値",
               "secret_key":"Secret Key値"
            }
      }
      
      • my-own-snapshot-repository: 必要な repository名を入力
      • access_key, secret_key: API認証キー値NAVERクラウドプラットフォームポータルのマイページ > アカウント管理 > 認証キー管理メニューで作成および確認が可能
    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でスナップショット作成失敗原因を確認する方法は次の通りです。

    1. Kibanaで Dev Toolsメニューをクリックします。
    2. Consoleで GET _snapshotを実行して、作成失敗したスナップショットの repositoryを確認します。
      • 右側の画面に repositoryリストが表示されます。
    3. 次のコマンドを実行して、そのスナップショットの詳細を確認します。
      GET _snapshot/"スナップショットの repository"/"スナップショットの名前"
      

    スナップショットの復元

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

    参考

    スナップショットを復元するには、まず復元するスナップショットが作成されている必要があります(Elasticsearch APIを介してスナップショットを作成を参照)。

    スナップショットを復元する方法は次の通りです。

    1. Kibanaで Dev Toolsメニューをクリックします。

    2. Consoleで次のコマンドを実行して復元する repositoryを作成します。

      PUT _snapshot/restore-repository
      {  
      "type" : "s3",  
      "settings": {    
         "region" : "kr",    
         "endpoint" : "https://kr.object.ncloudstorage.com",
         "bucket": "estest",
         "path_style_access": "true",
         "access_key":"Access Key ID値",
         "secret_key":"Secret Key値"
      }
      }
      
      • 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で 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.