簡體   English   中英

如何在快照中找到 Elasticsearch 索引?

[英]How to find Elasticsearch index in snapshot?

我有一個在 AWS 上運行的 Elasticsearch 集群,我有這樣的快照

 {
     "snapshot": "2016-07-13_165430",
     "indices": [
        "analytical-2016-06-15",
        "analytical_2016-06-13",
        "analytical_2016-07-13",
        "operational-2016-06-15",
        "operational_2016-06-13",
        "operational_2016-07-13"
     ],
     "state": "SUCCESS",
     "start_time": "2016-10-10T23:54:33.705Z",
     "start_time_in_millis": 1476143673705,
     "end_time": "2016-10-10T23:54:44.893Z",
     "end_time_in_millis": 1476143684893,
     "duration_in_millis": 11188,
     "failures": [],
     "shards": {
        "total": 30,
        "failed": 0,
        "successful": 30
     }
  },
  {
     "snapshot": "2016-07-13_165546",
     "indices": [
        "analytical-2016-06-15",
        "analytical_2016-06-13",
        "analytical_2016-07-13",
        "operational-2016-06-15",
        "operational_2016-06-13",
        "operational_2016-07-13"
     ],
     "state": "SUCCESS",
     "start_time": "2016-10-10T23:55:48.808Z",
     "start_time_in_millis": 1476143748808,
     "end_time": "2016-10-10T23:55:52.420Z",
     "end_time_in_millis": 1476143752420,
     "duration_in_millis": 3612,
     "failures": [],
     "shards": {
        "total": 30,
        "failed": 0,
        "successful": 30
     }
  }

現在所有這些指數都與其他一些指數一起在線運行:“analytical-2016-06-15”,
"analytical_2016-06-13",
"analytical_2016-07-13",
"操作-2016-06-15",
"operational_2016-06-13",
“操作_2016-07-13”
“操作_2016-09-13”
....

我需要檢查我的索引是否已備份,以及是否已備份它存在於哪個快照中。

我懷疑@air 對查找包含給定索引的許多快照中的哪一個感興趣; 粘貼的示例只是快照歷史記錄的一種視圖。 當您在一段時間內拍攝每日快照並添加/刪除索引時,手動搜索將是一件苦差事。

似乎沒有“找到我所有包含索引operational_2021-06-10 _2021-06-10的快照”的API調用,但這里有一個自動化選項:

 curl -XGET "http://cluster:9200/_snapshot/myrepo/*" |
   jq -c '.snapshots[] | select(.indices | index("operational_2021-06-10")) | { snapshot }'

{"snapshot":"daily-snap-2021.06.10-hjmskkjsryyq82asmxiuva"}
{"snapshot":"daily-snap-2021.06.11-eayyiiort0cx97r_jscara"}
{"snapshot":"daily-snap-2021.06.12-rmrsbmsespgf0_czu721hw"}
{"snapshot":"daily-snap-2021.06.13-meeoachori61w5r3n3qzaq"}
{"snapshot":"daily-snap-2021.06.14-espbnhuprcckqylk3xltwq"}
{"snapshot":"daily-snap-2021.06.15-sbosayasthinaudxaqw3pa"}

我對你的問題感到困惑,因為你發布了快照 json,它告訴你每個快照中備份了哪些索引。 您需要遍歷每個快照存儲庫中的每個快照(我認為您已經知道該怎么做)並查看每個快照中的索引。

這是 AFAIK 確定已備份哪些索引、何時以及由哪些快照備份的唯一方法。

這是快照 api 的文檔: https : //www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM