[Elasticsearch 5.4] リストアのステータス(進行状況)について


#1

お世話になります。

リストアのステータスを確認するリクエストはありますでしょうか。
スナップショット作成時の以下のようなリクエストでリストアの際もステータスを確認したいのですが、
どうにも見つからなかったため質問させていただきました。

GET /_snapshot/_status
GET /_snapshot/my_backup/_status
GET /_snapshot/my_backup/snapshot_1/_status

ご存知の方いらっしゃいましたらご教示いただけると幸いです。
よろしくお願い致します。


#2

自己解決というほどではないですが、どうやらcatを使うと進捗が確認できるようですね。

リクエスト:

GET _cat/recovery?v&h=i,rep,snap,st,f,fr,fp

レスポンス:

i       rep       snap       st    f  fr fp
index-1 my_backup snapshot_1 done  25 25 100.0%
index-2 my_backup snapshot_1 index 52 28 53.8%

しかし、少々使いづらいですね・・・
他によい方法ご存知の方いらっしゃいましたらご教示下さい。


#3

Python Elasticsearch Client を使うとcat の結果をjson形式で返してくれるようなので、
最終的に以下のような形で進捗をとるようにしました。

while 1:
  res = es.cat.recovery(h='i,rep,snap,st,f,fr,fp', format='json')
  lstRunning = [r for r in res if r['st'] != 'done']
  if lstRunning:
    print 'Running'
    time.sleep(5)
  else:
    print 'Done'
    break

ご報告まで。


(Jun Ohtani) #4

_cat/recoveryに相当するAPIとして、indices recovery API というのがあります。
こちらの方が良いかもしれませんね。


(system) #5

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.