スナップショットからの復元

Elasticsearchは、クラスターの外部にデータのコピーを保存するためにスナップショットを使用しています。スナップショットを復元することで、クラスター内にシャードのコピーがないインデックスやデータストリームを回復できます。これは、データ(インデックスまたはデータストリーム)が削除された場合や、クラスターのメンバーシップが変更され、システム内の現在のノードにデータのコピーが含まれていない場合に発生する可能性があります。

欠落しているデータを復元するには、影響を受けたインデックスとデータストリームのバックアップが、使用ケースに対して十分に最新である必要があります。これを確認せずに進まないでください。

欠落しているデータを持つインデックスとデータストリームを復元するには:

Kibanaを使用する

  • 1. Elastic Cloudコンソールにログインします。
  • 2. Elasticsearchサービスパネルで、デプロイメントの名前をクリックします。
    デプロイメントの名前が無効になっている場合、Kibanaインスタンスが正常でない可能性があります。その場合は、Elasticサポートに連絡してください。デプロイメントにKibanaが含まれていない場合は、最初に有効にするだけで済みます。
  • 3. デプロイメントのサイドナビゲーションメニュー(左上隅のElasticロゴの下に配置)を開き、**Dev Tools

    Console**に移動します。
    Kibana Console

  • 4. cat indices APIを使用して影響を受けたインデックスを表示します。

Python

  1. resp = client.cat.indices(
  2. v=True,
  3. health="red",
  4. h="index,status,health",
  5. )
  6. print(resp)

Ruby

  1. response = client.cat.indices(
  2. v: true,
  3. health: 'red',
  4. h: 'index,status,health'
  5. )
  6. puts response

Js

  1. const response = await client.cat.indices({
  2. v: "true",
  3. health: "red",
  4. h: "index,status,health",
  5. });
  6. console.log(response);

Console

  1. GET _cat/indices?v&health=red&h=index,status,health

応答は次のようになります:

Console-Result

  1. index status health
  2. .ds-my-data-stream-2022.06.17-000001 open red
  3. kibana_sample_data_flights open red

上記のredインデックスの健康状態は、これらのインデックスがプライマリシャードを欠いていることを示しており、つまりデータが欠落していることを意味します。

  • 5. データを復元するためには、これらの2つのインデックスを含むスナップショットを見つける必要があります。そのようなスナップショットを見つけるには、get snapshot APIを使用します。

Python

  1. resp = client.snapshot.get(
  2. repository="my_repository",
  3. snapshot="*",
  4. verbose=False,
  5. )
  6. print(resp)

Ruby

  1. response = client.snapshot.get(
  2. repository: 'my_repository',
  3. snapshot: '*',
  4. verbose: false
  5. )
  6. puts response

Js

  1. const response = await client.snapshot.get({
  2. repository: "my_repository",
  3. snapshot: "*",
  4. verbose: "false",
  5. });
  6. console.log(response);

Console

  1. GET _snapshot/my_repository/*?verbose=false

応答は次のようになります:

Console-Result

  1. {
  2. "snapshots" : [
  3. {
  4. "snapshot" : "snapshot-20200617",
  5. "uuid" : "dZyPs1HyTwS-cnKdH08EPg",
  6. "repository" : "my_repository",
  7. "indices" : [
  8. ".apm-agent-configuration",
  9. ".apm-custom-link",
  10. ".ds-ilm-history-5-2022.06.17-000001",
  11. ".ds-my-data-stream-2022.06.17-000001",
  12. ".geoip_databases",
  13. ".kibana-event-log-8.2.2-000001",
  14. ".kibana_8.2.2_001",
  15. ".kibana_task_manager_8.2.2_001",
  16. "kibana_sample_data_ecommerce",
  17. "kibana_sample_data_flights",
  18. "kibana_sample_data_logs"
  19. ],
  20. "data_streams" : [ ],
  21. "state" : "SUCCESS"
  22. }
  23. ],
  24. "total" : 1,
  25. "remaining" : 0
  26. }
スナップショットの名前。
スナップショットのリポジトリ。
スナップショットにバックアップされたインデックス。
スナップショットが成功したかどうか。
  • 6. スナップショットsnapshot-20200617には、復元したい2つのインデックスが含まれています。ターゲットインデックスを復元できるスナップショットが複数ある場合があります。最新のスナップショットを選択してください。
  • 7. スナップショットを見つけたので、失われたデータを復元するためのデータストリームの準備を進めます。インデックスメタデータを確認して、インデックスがデータストリームの一部であるかどうかを確認します:

Python

  1. resp = client.indices.get(
  2. index="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. features="settings",
  4. flat_settings=True,
  5. )
  6. print(resp)

Ruby

  1. response = client.indices.get(
  2. index: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001',
  3. features: 'settings',
  4. flat_settings: true
  5. )
  6. puts response

Js

  1. const response = await client.indices.get({
  2. index: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. features: "settings",
  4. flat_settings: "true",
  5. });
  6. console.log(response);

Console

  1. GET kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001?features=settings&flat_settings

応答は次のようになります:

Console-Result

  1. {
  2. ".ds-my-data-stream-2022.06.17-000001" : {
  3. "aliases" : { },
  4. "mappings" : { },
  5. "settings" : {
  6. "index.creation_date" : "1658406121699",
  7. "index.hidden" : "true",
  8. "index.lifecycle.name" : "my-lifecycle-policy",
  9. "index.number_of_replicas" : "1",
  10. "index.number_of_shards" : "1",
  11. "index.provided_name" : ".ds-my-data-stream-2022.06.17-000001",
  12. "index.routing.allocation.include._tier_preference" : "data_hot",
  13. "index.uuid" : "HmlFXp6VSu2XbQ-O3hVrwQ",
  14. "index.version.created" : "8020299"
  15. },
  16. "data_stream" : "my-data-stream"
  17. },
  18. "kibana_sample_data_flights" : {
  19. "aliases" : { },
  20. "mappings" : { },
  21. "settings" : {
  22. "index.creation_date" : "1655121541454",
  23. "index.number_of_replicas" : "0",
  24. "index.number_of_shards" : "1",
  25. "index.provided_name" : "kibana_sample_data_flights",
  26. "index.routing.allocation.include._tier_preference" : "data_content",
  27. "index.uuid" : "jMOlwKPPSzSraeeBWyuoDA",
  28. "index.version.created" : "8020299"
  29. }
  30. }
  31. }
インデックスの名前。
私たちが探しているメタデータを含むこのインデックスの設定。
このインデックスがデータストリームの一部であることを示し、データストリーム名を表示します。
リクエストした他のインデックスの名前。

上記の応答は、kibana_sample_data_flightsがデータストリームの一部ではないことを示しています。なぜなら、設定にdata_streamというフィールドがないからです。
逆に、.ds-my-data-stream-2022.06.17-000001my-data-streamというデータストリームの一部です。このようなインデックスを見つけた場合、そのインデックスにデータがまだインデックスされているかどうかを確認する必要があります。settingsを確認することでそれを確認できます。このプロパティ"index.lifecycle.indexing_complete" : "true"が見つかれば、インデックス内のインデックス作成が完了しており、次のステップに進むことができます。

  1. #### Python
  2. ``````python
  3. resp = client.indices.rollover(
  4. alias="my-data-stream",
  5. )
  6. print(resp)
  7. `

Ruby

  1. response = client.indices.rollover(
  2. alias: 'my-data-stream'
  3. )
  4. puts response

Js

  1. const response = await client.indices.rollover({
  2. alias: "my-data-stream",
  3. });
  4. console.log(response);

Console

  1. POST my-data-stream/_rollover
  • 8. データストリームの準備が完了したので、close indices APIを使用してターゲットインデックスを閉じます。

Python

  1. resp = client.indices.close(
  2. index="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.close(
  2. index: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001'
  3. )
  4. puts response

Js

  1. const response = await client.indices.close({
  2. index: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. });
  4. console.log(response);

Console

  1. POST kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001/_close

cat indices APIを使用して、インデックスが閉じられていることを確認できます。

Python

  1. resp = client.cat.indices(
  2. v=True,
  3. health="red",
  4. h="index,status,health",
  5. )
  6. print(resp)

Ruby

  1. response = client.cat.indices(
  2. v: true,
  3. health: 'red',
  4. h: 'index,status,health'
  5. )
  6. puts response

Js

  1. const response = await client.cat.indices({
  2. v: "true",
  3. health: "red",
  4. h: "index,status,health",
  5. });
  6. console.log(response);

Console

  1. GET _cat/indices?v&health=red&h=index,status,health

応答は次のようになります:

Console-Result

  1. index status health
  2. .ds-my-data-stream-2022.06.17-000001 close red
  3. kibana_sample_data_flights close red
  • 9. インデックスは閉じられています。これで、restore snapshot APIを使用してスナップショットから復元できます。

Python

  1. resp = client.snapshot.restore(
  2. repository="my_repository",
  3. snapshot="snapshot-20200617",
  4. indices="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  5. include_aliases=True,
  6. )
  7. print(resp)

Ruby

  1. response = client.snapshot.restore(
  2. repository: 'my_repository',
  3. snapshot: 'snapshot-20200617',
  4. body: {
  5. indices: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001',
  6. include_aliases: true
  7. }
  8. )
  9. puts response

Js

  1. const response = await client.snapshot.restore({
  2. repository: "my_repository",
  3. snapshot: "snapshot-20200617",
  4. indices: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  5. include_aliases: true,
  6. });
  7. console.log(response);

Console

  1. POST _snapshot/my_repository/snapshot-20200617/_restore
  2. {
  3. "indices": "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  4. "include_aliases": true
  5. }
復元するインデックス。
エイリアスも復元したい。

復元する必要がある機能状態がある場合は、feature_statesフィールドを使用してそれらを指定する必要があります。復元する機能状態に属するインデックスは、indicesの下に指定されてはいけません。Health APIは、スナップショットからの復元診断のために復元する必要があるindicesfeature_statesの両方を返します。例:

Python

  1. resp = client.snapshot.restore(
  2. repository="my_repository",
  3. snapshot="snapshot-20200617",
  4. feature_states=[
  5. "geoip"
  6. ],
  7. indices="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  8. include_aliases=True,
  9. )
  10. print(resp)

Ruby

  1. response = client.snapshot.restore(
  2. repository: 'my_repository',
  3. snapshot: 'snapshot-20200617',
  4. body: {
  5. feature_states: [
  6. 'geoip'
  7. ],
  8. indices: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001',
  9. include_aliases: true
  10. }
  11. )
  12. puts response

Js

  1. const response = await client.snapshot.restore({
  2. repository: "my_repository",
  3. snapshot: "snapshot-20200617",
  4. feature_states: ["geoip"],
  5. indices: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  6. include_aliases: true,
  7. });
  8. console.log(response);

Console

  1. POST _snapshot/my_repository/snapshot-20200617/_restore
  2. {
  3. "feature_states": [ "geoip" ],
  4. "indices": "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  5. "include_aliases": true
  6. }
  • 10. 最後に、cat indices APIを介してインデックスの健康状態がgreenであることを確認できます。

Python

  1. resp = client.cat.indices(
  2. v=True,
  3. index=".ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health",
  4. )
  5. print(resp)

Ruby

  1. response = client.cat.indices(
  2. v: true,
  3. index: '.ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health'
  4. )
  5. puts response

Js

  1. const response = await client.cat.indices({
  2. v: "true",
  3. index:
  4. ".ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health",
  5. });
  6. console.log(response);

Console

  1. GET _cat/indices?v&index=.ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health

応答は次のようになります:

Console-Result

  1. index status health
  2. .ds-my-data-stream-2022.06.17-000001 open green
  3. kibana_sample_data_flights open green

上記のように、インデックスはgreenで開いています。問題は解決されました。

スナップショットの作成と復元に関する詳細なガイダンスについては、このガイドを参照してください。

シャードが欠落しているインデックスを復元するには:

  • 1. cat indices APIを使用して影響を受けたインデックスを表示します。

Python

  1. resp = client.cat.indices(
  2. v=True,
  3. health="red",
  4. h="index,status,health",
  5. )
  6. print(resp)

Ruby

  1. response = client.cat.indices(
  2. v: true,
  3. health: 'red',
  4. h: 'index,status,health'
  5. )
  6. puts response

Js

  1. const response = await client.cat.indices({
  2. v: "true",
  3. health: "red",
  4. h: "index,status,health",
  5. });
  6. console.log(response);

Console

  1. GET _cat/indices?v&health=red&h=index,status,health

応答は次のようになります:

Console-Result

  1. index status health
  2. .ds-my-data-stream-2022.06.17-000001 open red
  3. kibana_sample_data_flights open red

上記のredインデックスの健康状態は、これらのインデックスがプライマリシャードを欠いていることを示しており、つまりデータが欠落していることを意味します。

  • 2. データを復元するためには、これらの2つのインデックスを含むスナップショットを見つける必要があります。そのようなスナップショットを見つけるには、get snapshot APIを使用します。

Python

  1. resp = client.snapshot.get(
  2. repository="my_repository",
  3. snapshot="*",
  4. verbose=False,
  5. )
  6. print(resp)

Ruby

  1. response = client.snapshot.get(
  2. repository: 'my_repository',
  3. snapshot: '*',
  4. verbose: false
  5. )
  6. puts response

Js

  1. const response = await client.snapshot.get({
  2. repository: "my_repository",
  3. snapshot: "*",
  4. verbose: "false",
  5. });
  6. console.log(response);

Console

  1. GET _snapshot/my_repository/*?verbose=false

応答は次のようになります:

Console-Result

  1. {
  2. "snapshots" : [
  3. {
  4. "snapshot" : "snapshot-20200617",
  5. "uuid" : "dZyPs1HyTwS-cnKdH08EPg",
  6. "repository" : "my_repository",
  7. "indices" : [
  8. ".apm-agent-configuration",
  9. ".apm-custom-link",
  10. ".ds-ilm-history-5-2022.06.17-000001",
  11. ".ds-my-data-stream-2022.06.17-000001",
  12. ".geoip_databases",
  13. ".kibana-event-log-8.2.2-000001",
  14. ".kibana_8.2.2_001",
  15. ".kibana_task_manager_8.2.2_001",
  16. "kibana_sample_data_ecommerce",
  17. "kibana_sample_data_flights",
  18. "kibana_sample_data_logs"
  19. ],
  20. "data_streams" : [ ],
  21. "state" : "SUCCESS"
  22. }
  23. ],
  24. "total" : 1,
  25. "remaining" : 0
  26. }
スナップショットの名前。
スナップショットのリポジトリ。
スナップショットにバックアップされたインデックス。
スナップショットが成功したかどうか。
  • 3. スナップショットsnapshot-20200617には、復元したい2つのインデックスが含まれています。ターゲットインデックスを復元できるスナップショットが複数ある場合があります。最新のスナップショットを選択してください。
  • 4. スナップショットを見つけたので、失われたデータを復元するためのデータストリームの準備を進めます。インデックスメタデータを確認して、インデックスがデータストリームの一部であるかどうかを確認します:

Python

  1. resp = client.indices.get(
  2. index="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. features="settings",
  4. flat_settings=True,
  5. )
  6. print(resp)

Ruby

  1. response = client.indices.get(
  2. index: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001',
  3. features: 'settings',
  4. flat_settings: true
  5. )
  6. puts response

Js

  1. const response = await client.indices.get({
  2. index: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. features: "settings",
  4. flat_settings: "true",
  5. });
  6. console.log(response);

Console

  1. GET kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001?features=settings&flat_settings

応答は次のようになります:

Console-Result

  1. {
  2. ".ds-my-data-stream-2022.06.17-000001" : {
  3. "aliases" : { },
  4. "mappings" : { },
  5. "settings" : {
  6. "index.creation_date" : "1658406121699",
  7. "index.hidden" : "true",
  8. "index.lifecycle.name" : "my-lifecycle-policy",
  9. "index.number_of_replicas" : "1",
  10. "index.number_of_shards" : "1",
  11. "index.provided_name" : ".ds-my-data-stream-2022.06.17-000001",
  12. "index.routing.allocation.include._tier_preference" : "data_hot",
  13. "index.uuid" : "HmlFXp6VSu2XbQ-O3hVrwQ",
  14. "index.version.created" : "8020299"
  15. },
  16. "data_stream" : "my-data-stream"
  17. },
  18. "kibana_sample_data_flights" : {
  19. "aliases" : { },
  20. "mappings" : { },
  21. "settings" : {
  22. "index.creation_date" : "1655121541454",
  23. "index.number_of_replicas" : "0",
  24. "index.number_of_shards" : "1",
  25. "index.provided_name" : "kibana_sample_data_flights",
  26. "index.routing.allocation.include._tier_preference" : "data_content",
  27. "index.uuid" : "jMOlwKPPSzSraeeBWyuoDA",
  28. "index.version.created" : "8020299"
  29. }
  30. }
  31. }
インデックスの名前。
私たちが探しているメタデータを含むこのインデックスの設定。
このインデックスがデータストリームの一部であることを示し、データストリーム名を表示します。
リクエストした他のインデックスの名前。

上記の応答は、kibana_sample_data_flightsがデータストリームの一部ではないことを示しています。なぜなら、設定にdata_streamというフィールドがないからです。
逆に、.ds-my-data-stream-2022.06.17-000001my-data-streamというデータストリームの一部です。このようなインデックスを見つけた場合、そのインデックスにデータがまだインデックスされているかどうかを確認する必要があります。settingsを確認することでそれを確認できます。このプロパティ"index.lifecycle.indexing_complete" : "true"が見つかれば、インデックス内のインデックス作成が完了しており、次のステップに進むことができます。

  1. #### Python
  2. ``````python
  3. resp = client.indices.rollover(
  4. alias="my-data-stream",
  5. )
  6. print(resp)
  7. `

Ruby

  1. response = client.indices.rollover(
  2. alias: 'my-data-stream'
  3. )
  4. puts response

Js

  1. const response = await client.indices.rollover({
  2. alias: "my-data-stream",
  3. });
  4. console.log(response);

Console

  1. POST my-data-stream/_rollover
  • 5. データストリームの準備が完了したので、close indices APIを使用してターゲットインデックスを閉じます。

Python

  1. resp = client.indices.close(
  2. index="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.close(
  2. index: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001'
  3. )
  4. puts response

Js

  1. const response = await client.indices.close({
  2. index: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  3. });
  4. console.log(response);

Console

  1. POST kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001/_close

cat indices APIを使用して、インデックスが閉じられていることを確認できます。

Python

  1. resp = client.cat.indices(
  2. v=True,
  3. health="red",
  4. h="index,status,health",
  5. )
  6. print(resp)

Ruby

  1. response = client.cat.indices(
  2. v: true,
  3. health: 'red',
  4. h: 'index,status,health'
  5. )
  6. puts response

Js

  1. const response = await client.cat.indices({
  2. v: "true",
  3. health: "red",
  4. h: "index,status,health",
  5. });
  6. console.log(response);

Console

  1. GET _cat/indices?v&health=red&h=index,status,health

応答は次のようになります:

Console-Result

  1. index status health
  2. .ds-my-data-stream-2022.06.17-000001 close red
  3. kibana_sample_data_flights close red
  • 6. インデックスは閉じられています。これで、restore snapshot APIを使用してスナップショットから復元できます。

Python

  1. resp = client.snapshot.restore(
  2. repository="my_repository",
  3. snapshot="snapshot-20200617",
  4. indices="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  5. include_aliases=True,
  6. )
  7. print(resp)

Ruby

  1. response = client.snapshot.restore(
  2. repository: 'my_repository',
  3. snapshot: 'snapshot-20200617',
  4. body: {
  5. indices: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001',
  6. include_aliases: true
  7. }
  8. )
  9. puts response

Js

  1. const response = await client.snapshot.restore({
  2. repository: "my_repository",
  3. snapshot: "snapshot-20200617",
  4. indices: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  5. include_aliases: true,
  6. });
  7. console.log(response);

Console

  1. POST _snapshot/my_repository/snapshot-20200617/_restore
  2. {
  3. "indices": "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  4. "include_aliases": true
  5. }
復元するインデックス。
エイリアスも復元したい。

復元する必要がある機能状態がある場合は、feature_statesフィールドを使用してそれらを指定する必要があります。復元する機能状態に属するインデックスは、indicesの下に指定されてはいけません。Health APIは、スナップショットからの復元診断のために復元する必要があるindicesfeature_statesの両方を返します。例:

Python

  1. resp = client.snapshot.restore(
  2. repository="my_repository",
  3. snapshot="snapshot-20200617",
  4. feature_states=[
  5. "geoip"
  6. ],
  7. indices="kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  8. include_aliases=True,
  9. )
  10. print(resp)

Ruby

  1. response = client.snapshot.restore(
  2. repository: 'my_repository',
  3. snapshot: 'snapshot-20200617',
  4. body: {
  5. feature_states: [
  6. 'geoip'
  7. ],
  8. indices: 'kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001',
  9. include_aliases: true
  10. }
  11. )
  12. puts response

Js

  1. const response = await client.snapshot.restore({
  2. repository: "my_repository",
  3. snapshot: "snapshot-20200617",
  4. feature_states: ["geoip"],
  5. indices: "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  6. include_aliases: true,
  7. });
  8. console.log(response);

Console

  1. POST _snapshot/my_repository/snapshot-20200617/_restore
  2. {
  3. "feature_states": [ "geoip" ],
  4. "indices": "kibana_sample_data_flights,.ds-my-data-stream-2022.06.17-000001",
  5. "include_aliases": true
  6. }
  • 7. 最後に、cat indices APIを介してインデックスの健康状態がgreenであることを確認できます。

Python

  1. resp = client.cat.indices(
  2. v=True,
  3. index=".ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health",
  4. )
  5. print(resp)

Ruby

  1. response = client.cat.indices(
  2. v: true,
  3. index: '.ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health'
  4. )
  5. puts response

Js

  1. const response = await client.cat.indices({
  2. v: "true",
  3. index:
  4. ".ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health",
  5. });
  6. console.log(response);

Console

  1. GET _cat/indices?v&index=.ds-my-data-stream-2022.06.17-000001,kibana_sample_data_flightsh=index,status,health

応答は次のようになります:

Console-Result

  1. index status health
  2. .ds-my-data-stream-2022.06.17-000001 open green
  3. kibana_sample_data_flights open green

上記のように、インデックスはgreenで開いています。問題は解決されました。

スナップショットの作成と復元に関する詳細なガイダンスについては、このガイドを参照してください。