- 印刷する
- PDF
Kibanaの活用
- 印刷する
- PDF
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にアクセスする方法は、次の通りです。
- ウェブブラウザで
マネージャーノードグローバル IPアドレス:80
にアクセスします。- 80番ポートに転送された5601番ポートにアクセスします。
- 次のようなウィンドウが表示されたら、Kibanaのアクセス情報を入力し、[ログイン] ボタンをクリックします。
- ユーザーの名前: 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画像の基本的な説明は次の通りです。
領域 | 説明 |
---|---|
① Console可能 | |
② 入力領域 | コマンド入力領域
|
③ 結果領域 | コマンドを実行した結果の表示 |
データの管理
Kibanaを利用してデータを管理できます。Dev Toolsメニュー Consoleで APIを介してデータの保存および照会ができます。また、インデックスパターンを作成し、クラスタに保存されたデータの検索もできます。
データの保存
APIを介してデータを保存する方法は次の通りです。
- Kibanaで Dev Toolsメニューをクリックします。
- 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を介してクラスタに保存されたデータを照会する方法は次の通りです。
- Kibanaで Dev Toolsメニューをクリックします。
- Consoleで APIを呼び出してデータを照会します。
- 右側の画面に検索結果が表示されます。
- 例)インデックス testにあるデータ照会
GET test/_search { "query" : { "match_all" : {} } }
インデックスパターンの作成
Kibanaでインデックスを使用するためには、まずインデックスパターンを作成する必要があります。インデックスパターンを介して、複数のインデックスのデータを一度に照会して管理できます。
インデックスパターンを作成するには、クラスタにデータが保存されている必要があります。
インデックスパターンを作成する方法は次の通りです。
- Kibanaで Managementメニューをクリックします。
- Index Patternsメニューをクリックします。
- [Create index pattern] ボタンをクリックします。
- Index patternに Kibanaで確認するためのインデックスパターンを入力します。
- 入力したインデックスパターンに該当するインデックスが表示されます。
- [Next step] ボタンをクリックします。
- Configure settingsの内容を確認して [Create index pattern] ボタンをクリックします。
- 日付/時間データがある場合は、Time Filter field nameで該当フィールドを選択します。
- 作成したインデックスパターンに関する情報が表示されます。
データの検索
Kibanaの Discoverメニューでクラスタに保存されたデータを検索できます。
データを検索するには、まずインデックスパターンを作成する必要があります。インデックスパターンの作成をご参照ください。
クラスタデータを検索する方法は次の通りです。
- Kibanaで Discoverメニューをクリックします。
- ドロップダウンメニューで照会するインデックスパターンを選択します。
- 選択したインデックスパターンに含まれたインデックスのデータが表示されます。
- 選択したインデックスパターンに含まれたインデックスのデータが表示されます。
- 検索ウィンドウに検索キーワード(例)
name:asd
)を入力し [Enter] キーで検索結果を確認します。- フィールドを選択して、必要なフィールドの情報のみを確認できます。
スナップショットの管理
Kibanaの Dev Toolsメニューの Consoleを利用してスナップショットの作成と削除ができます。スナップショット作成失敗時に失敗原因を把握したり、作成したスナップショットを利用してデータの復元ができます。
Object Storageにスナップショットを作成して管理するには、クラスタのすべてのノー Object Storage Pluginをインストールする必要があります(Object Storage Pluginのインストール参照)。
Object Storage Pluginのインストール
クラスタで Object Storageにアクセスするためには、クラスタのすべてのノードに Object Storage Pluginをインストールする必要があります。以下のコマンドを実行してプラグインをインストールします。
- マネージャノードに 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
y
を入力して Object Storage Pluginをインストールします。- クラスタのすべてのノードに対して 1~2回手順を繰り返して Object Storage Pluginをインストールします。
- マネージャノードにアクセスした状態で
ssh sshuser@データノードの IPアドレス
コマンドを実行してからyes
を入力すれば、各データノードに SSH接続できます。- データノード IPアドレスは、Clusterメニューでクラスタ詳細情報の中の [詳細を表示] ボタンをクリックして確認できます。
- データノードにアクセスした状態で
logout
コマンドを実行すると、マネージャノードに戻ります。
- マネージャノードにアクセスした状態で
- インストールしたプラグインを適用するためにクラスタを再起動してください。(クラスタの再起動を参照)
Elasticsearch APIを介してのスナップショット作成
Elasticsearch APIを呼び出してクラスタのスナップショットを作成できます。
- まず、クラスタのすべてのノードに Object Storage Pluginをインストールする必要があります。(Object Storage Pluginのインストール参照)
- まず、Object Storageにスナップショットを保存するバケットを作成する必要があります。バケット作成に関する詳しい内容は、バケットの作成をご参照ください。
クラスタのスナップショットを作成する方法は次の通りです。
Kibanaで Dev Toolsメニューをクリックします。
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クラウドプラットフォームポータルのマイページ > アカウント管理 > 認証キー管理メニューで作成および確認が可能
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でスナップショット作成失敗原因を確認する方法は次の通りです。
- Kibanaで Dev Toolsメニューをクリックします。
- Consoleで
GET _snapshot
を実行して、作成失敗したスナップショットの repositoryを確認します。- 右側の画面に repositoryリストが表示されます。
- 次のコマンドを実行して、そのスナップショットの詳細を確認します。
GET _snapshot/"スナップショットの repository"/"スナップショットの名前"
スナップショットの復元
スナップショットを利用して、クラスタのデータを回復したり、1つのクラスタから別のクラスタにデータを移動させたりできます。
スナップショットを復元するには、まず復元するスナップショットが作成されている必要があります(Elasticsearch APIを介してスナップショットを作成を参照)。
スナップショットを復元する方法は次の通りです。
Kibanaで Dev Toolsメニューをクリックします。
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
次のコマンドを実行して、スナップショットに存在する復元可能なインデックスのリストを確認します。
GET _snapshot/restore-repository/"スナップショット名"
次のコマンドを実行して、現在クラスタに存在するインデックスのリストを確認します。
- 復元するインデックスと同じ名前のインデックスが現在クラスタに存在する場合、そのインデックスは復元できません。
GET _cat/indices
コマンドを実行して、必要なインデックスに対応して復元します。
- 特定のインデックスに対応して復元
- <例>
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": "*"
を設定する場合、すべてのインデックスに対応して復元を試み、重複するインデックスが存在する場合は復元に失敗します。
- 特定のインデックスに対応して復元
以下のコマンドを実行してインデックスが正常に復元されたか確認します。
- 復元後すぐは、一時的にインデックスの状態が yellow、クラスタの状態が警告になる場合があります。
GET _cat/indices
スナップショットの削除
Kibanaで Dev Toolsメニューをクリックします。
Consoleで次のコマンドを実行してスナップショットを削除します。
DELETE _snapshot/restore-repository/test4
- 次のコマンドを実行して、スナップショットが削除されていることを確認できます。
GET _cat/snapshots/restore-repository
- 次のコマンドを実行して、スナップショットが削除されていることを確認できます。
内容量の大きなスナップショットを削除する場合、タイムアウトレスポンスが発生することがあります。所要時間が30秒を超えて発生する現象で、スナップショットの削除は backgroundで正常に行われます。