Elasticsearch Snapshot-Status abrufen

Elasticsearch Snapshot Status Abrufen



In diesem Artikel wird untersucht, wie wir die detaillierte Beschreibung jedes Shards abrufen können, der an einem bestimmten Snapshot beteiligt ist.

Um den Status eines bestimmten Snapshots in Elasticsearch abzurufen, verwenden wir den API-Endpunkt Get Snapshot Status.







Anforderungssyntax

Die Anforderungssyntax sieht wie folgt aus:



GET _snapshot / _Status
GET _snapshot /< Repository >/ _Status
GET _snapshot /< Repository >/< Schnappschuss >/ _Status



Die Anfrage unterstützt die folgenden Pfadparameter:





  1. – Der Name des Snapshot-Repositorys. Dies ist sehr nützlich, um den Umfang der Anfrage auf ein bestimmtes Repository anstelle der systemweiten Abfrage zu beschränken.
  2. – Gibt den Namen eines Ziel-Snapshots an. Sie können die mehreren Snapshots auch als durch Kommas getrennte Liste angeben.

Wir können den Snapshot im Anforderungsparameter weglassen, um Informationen über die derzeit ausgeführten Snapshots abzurufen.

Antworttext

Die Anforderung sollte detaillierte Informationen zum Snapshot zurückgeben. Diese in der Antwort enthaltenen Informationen sind:



  1. Repository – Der Name des Repositorys, in dem sich der Snapshot befindet.
  2. Schnappschuss – Der Name des Schnappschusses.
  3. uuid – UUID des Snapshots.
  4. Bundesland – Der aktuelle Status des Snapshots. Der Snapshot kann sich in den folgenden Zuständen befinden:
  5. a. GESCHEITERT – Der Snapshot, der mit einem Fehler beendet wurde und die gesicherten Daten nicht wiederherstellen kann.
    b. GESTARTET – Zeigt an, dass der Snapshot derzeit ausgeführt wird.
    c. TEILWEISE – Zeigt an, dass der globale Clusterstatus wiederhergestellt ist, aber die Daten von mindestens einem Shard nicht erfolgreich gespeichert werden konnten.
    d. ERFOLG – Zeigt an, dass der Snapshot erfolgreich abgeschlossen wurde.

  6. Include_global_state – Gibt an, ob der globale Clusterstatus im angegebenen Snapshot enthalten ist.
  7. Shard_stats – Zeigt die Anzahl der Shards an.
  8. Statistiken – Angaben zur Anzahl der Dateien und zur Größe der Dateien im Schnappschuss.

Dies sind einige der Informationen, die vom Snapshot-Status zurückgegeben werden.

Elasticsearch Snapshot erstellen

Lassen Sie uns einen Beispiel-Snapshot erstellen, um die Verwendung der Elasticsearch Get Snapshot-API am besten zu veranschaulichen. Beachten Sie, dass dieser Abschnitt nicht die Grundlagen zum Erstellen eines Elasticsearch-Repositorys oder andere Anforderungen für einen Elasticsearch-Snapshot behandelt.

Überprüfen Sie die Dokumentation, um mehr zu erfahren.

Angenommen, wir haben ein Repository namens elk_bakcups, dann können wir in diesem Repository einen Snapshot mit der im Folgenden gezeigten Anfrage erstellen:

kräuseln -XPUT 'http://localhost:9200/_snapshot/elk_backups/test_snapshot?wait_for_completion=true' -H 'kbn-xsrf: Berichterstattung'

Die vorherige Anfrage initialisiert die Snapshot-Erstellung im angegebenen Repository.

HINWEIS : Die für die Snapshot-Erstellung erforderliche Zeit hängt von einer Reihe von Faktoren ab.

Elasticsearch Snapshot-Status abrufen

Sobald wir den Snapshot-Erstellungsprozess initialisiert haben, können wir seinen Status überprüfen, indem wir die folgende Abfrage ausführen:

kräuseln -XGET 'http://localhost:9200/_snapshot/elk_backups/test_snapshot/_status' -H 'kbn-xsrf: Berichterstattung'

Dies sollte detaillierte Informationen zum Snapshot-Status zurückgeben. Eine Beispielausgabe sieht wie folgt aus:

{
'Schnappschüsse' : [
{
'Schnappschuss' : 'test_snapshot' ,
'Repository' : 'each_backups' , < stark >
stark > 'uuid' : '9oOJtTunR_WC-1a7NA-9WQ' ,
'Zustand' : 'ERFOLG' ,
'include_global_state' : Stimmt ,
'shards_stats' : {
'Initialisieren' : 0 ,
'gestartet' : 0 ,
'abschließen' : 0 ,
'erledigt' : 94 ,
'gescheitert' : 0 ,
'gesamt' : 94
} ,
'Statistiken' : {
'inkrementell' : {
'file_count' : 282 ,
'Größe_in_Byte' : 750304
} ,
'gesamt' : {
'file_count' : 692 ,
'Größe_in_Byte' : 62159894
} ,
'start_time_in_millis' : 1663770043239 ,
'time_in_millis' : 26212
} ,
'Indizes' : { < stark >
stark > 'mein-datenstrom' : {
'shards_stats' : {
'Initialisieren' : 0 ,
'gestartet' : 0 ,
'abschließen' : 0 ,
'erledigt' : 1 ,
'gescheitert' : 0 ,
'gesamt' : 1
} ,
'Statistiken' : {
'inkrementell' : {
'file_count' : 0 ,
'Größe_in_Byte' : 0
} ,
'gesamt' : {
'file_count' : 10 ,
'Größe_in_Byte' : 13518
} ,

-----------------AUSGANG GEKÜRZT------------------------

In Kibana können Sie den Snapshot-Status überprüfen, indem Sie zum Abschnitt Stack Management – ​​Snapshot and Restore navigieren.

Wählen Sie den Ziel-Snapshot aus und zeigen Sie die Details an.

HINWEIS : Beachten Sie, dass Kibana keine umfassenden Details bereitstellt, wie sie von der Elasticsearch-API zum Abrufen des Snapshot-Status bereitgestellt werden.

Fazit

In diesem Beitrag haben wir die Grundlagen der Arbeit mit der API zum Abrufen des Snapshot-Status untersucht, mit der wir detaillierte Informationen zu einem bestimmten Snapshot abrufen können.

Danke fürs Lesen!