- 印刷する
- PDF
Kibana/OpenSearchの活用
- 印刷する
- PDF
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へアクセスする方法は次の通りです。
- ウェブブラウザで
ロードバランサ IPアドレス:80
にアクセスします。- 80番ポートに転送された5601番ポートにアクセスします。
- 次のようなウィンドウが表示されたら、Kibanaアクセス情報を入力し、[ログイン] ボタンをクリックしてください。
- ユーザーの名前: Kibanaのアクセス ID入力
- パスワード: Kibanaアクセスパスワードの入力
- ログイン後、最初に表示される画面で [Try our sample data] ボタンをクリックするとサンプルデータを使用できます。
Kibana 画面
Kibana画面の基本的な説明は次の通りです。
領域 | 説明 |
---|---|
① Home、メニュー名 | |
② Kibanaメニュー | |
③ 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にアクセスする方法は次の通りです。
- ウェブブラウザで
ロードバランサ IPアドレス:80
にアクセスします。- 80番ポートに転送された5601番ポートにアクセスします。
- 次のようなウィンドウが表示されたら、OpenSearch Dashboardsアクセス情報を入力し [Log In] ボタンをクリックします。
- Username: OpenSearch Dashboardsアクセス IDを入力
- Password: OpenSearch Dashboardsアクセスパスワードを入力
- ログイン後に最初に表示される画面で [Add data] ボタンをクリックすると、サンプルデータを使用できます。
OpenSearch Dashboards 画面
OpenSearch Dashboardsの画面の基本的な説明は次の通りです。
領域 | 説明 |
---|---|
① 基本メニュー | |
② OpenSearch Dashboards | |
③ OpenSearch Plugins | |
④ Management |
Dev Tools
Dev Toolsメニューの Consoleを利用して簡単に APIを活用し、リクエストに関する結果を得られます。Dev Tools画面の基本的な説明は次の通りです。
領域 | 説明 |
---|---|
① Console機能 | |
② 入力領域 | コマンドの入力領域
|
③ 結果領域 | コマンドを実行した結果を表示 |
データの管理
Kibanaおよび OpenSearch Dashboardsを利用してデータを管理できます。Dev Toolsメニューの Consoleで APIを介してデータの保存および照会ができます。また、インデックスパターンを作成し、クラスタに保存されたデータの検索もできます。
データの保存
APIを介してデータを保存する方法は次の通りです。
- Kibanaおよび OpenSearch Dashboardsで 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および OpenSearch Dashboardsで Dev Toolsメニューをクリックします。
- Consoleで APIを呼び出してデータを照会します。
- 右側の画面に検索結果が表示されます。
- 例)インデックス testにあるデータの照会
GET test/_search { "query" : { "match_all" : {} } }
インデックスパターンの作成
Kibana および OpenSearch Dashboardsでインデックスを使用するためには、まずインデックスパターンを作成する必要があります。インデックスパターンを介して複数のインデックスのデータを一度に照会して管理できます。
インデックスパターンを作成するには、クラスタにデータが保存されている必要があります。
インデックスパターンを作成する方法は次の通りです。
- Kibana および OpenSearch Dashboardsで Management または Stack Management メニューをクリックします。
- Index Patterns メニューをクリックします。
- [Create index pattern] ボタンをクリックします。
- Kibana および OpenSearch Dashboardsで確認するインデックスパターンを入力します。
- 入力したインデックスパターンに該当するインデックスが表示されます。
- [Next step] ボタンをクリックします。
- Configure settings の内容を確認して [Create index pattern] ボタンをクリックします。
- 日付/時間データがある場合は、Time Filter field name または Time fieldで該当フィールドを選択します。
- 作成したインデックスパターンに関する情報が表示されます。
データの検索
Kibana および OpenSearch Dashboardsの Discoverメニューでクラスタに保存されたデータを検索することができます。
データを検索するには、まずインデックスパターンを作成する必要があります。
クラスタデータを検索する方法は次の通りです。
- Kibana および OpenSearch Dashboardsで Discoverメニューをクリックします。
- ドロップダウンメニューで照会するインデックスパターンを選択します。
- 選択したインデックスパターンに含まれたインデックスのデータが表示されます。
- 選択したインデックスパターンに含まれたインデックスのデータが表示されます。
- 検索ウィンドウに検索キーワード(例)
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を介して直接スナップショットを作成する方法は次の通りです。
Kibanaおよび OpenSearch Dashboardsで Dev Toolsメニューをクリックします。
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
- 韓国リージョンの場合:
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でスナップショット作成の失敗原因を確認する方法は次の通りです。
- Kibanaおよび OpenSearch Dashboardsで Dev Tools メニューをクリックします。
- Consoleで
GET _snapshot
コマンドを実行した後、作成に失敗したスナップショットの repositoryを確認します。- 右側の画面に repositoryリストが表示されます。
- 次のコマンドを実行して、該当のスナップショットの詳細を確認します。
GET _snapshot/"スナップショットの repository"/"スナップショット名前"
スナップショットの復元
スナップショットを利用してクラスタのデータを回復したり、1つのクラスタから別のクラスタにデータを移動させたりできます。
スナップショットを復元するには、まず復元するスナップショットが作成されている必要があります(スナップショットの作成または Elasticsearchおよび OpenSearch APIを介してのスナップショットの作成を参照)。
スナップショットの復元方法は次の通りです。
Kibanaおよび OpenSearch Dashboardsで Dev Tools メニューをクリックします。
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
次のコマンドを実行して、スナップショットに存在する復元可能なインデックスのリストを確認します。
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および OpenSearch Dashboardsで Dev Toolsメニューをクリックします。
Consoleで次のコマンドを実行してスナップショットを削除します。
DELETE _snapshot/restore-repository/test4
- 次のコマンドを実行すると、スナップショットが削除されていることを確認できます。
GET _cat/snapshots/restore-repository
- 次のコマンドを実行すると、スナップショットが削除されていることを確認できます。
内容量の大きなスナップショットを削除する場合、タイムアウト応答が発生することがあります。所要時間が30秒を超えると発生する現象で、スナップショットの削除は backgroundで正常に行われます。