In diesem Leitfaden wird veranschaulicht.
Verwendung
Um die Informationen über die Gesundheit Ihres Clusters zu erhalten, stellen Sie eine Anfrage an die Gesundheits -API, wie in der folgenden Anfrage gezeigt:
"cluster_name": "55Fe667810A347CEBF1DB500B702F968",
"Status": "Gelb",
"Timed_out": Falsch,
"number_of_nodes": 3,
"number_of_data_nodes": 2,
"Active_primary_Shards": 109,
"Active_shards": 218,
"relocating_shards": 0,
"Initializing_shards": 0,
"nicht zugewiesene_Shards": 6,
"Delayed_Unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"Active_shards_percent_as_number": 97.32142857142857
Ein Eintrag aus dem Ergebnis der obigen Abfrage ist der Status. In unserem obigen Beispiel ist der Status des Clusters gelb.
Elasticsearch hat drei Hauptstatus des Hauptcluster -Gesundheitszustands:
Grün - Grün bedeutet, dass alle Scherben im Cluster zugewiesen werden.
Gelb - Ein gelber Status zeigt an, dass der primäre Shard des Clusters zugewiesen wird, die Repliken jedoch nicht zugewiesen werden.
Rot - Der rote Status bedeutet, dass der angegebene Shard im Cluster nicht zugewiesen wird.
Basierend auf der Ausgabe der Gesundheits -API können Sie feststellen, welche Maßnahmen Sie ergreifen müssen, um die Gesundheit Ihres Clusters zu beheben.
Gesundheits -API -Abfrageparameter
Es gibt verschiedene Parameter, die Sie den Gesundheits -API -Endpunkt übergeben können. Solche Parameter umfassen:
Eben - Ermittelt die Details der Gesundheitsinformationen aus der Anfrage. Standardmäßig ist dieser Wert auf Cluster eingestellt, kann jedoch auch Folgendes enthalten: Indizes und Scherben.
Auszeit - Legt die maximale Zeit fest, um auf eine Antwort zu warten. Standardmäßig auf 30er Jahre einstellen. Wenn die angegebene Zeit abgelaufen ist, bevor Elasticsearch eine Antwort zurücksendet, schlägt die Anfrage fehl.
wait_for_nodes - Teilt der Anfrage an, auf eine bestimmte Anzahl von Knoten zu warten, die verfügbar sind.
wait_for_status - Die Anfrage wartet, bis der Status des Clusters auf die angegebene abweist. Wenn beispielsweise auf Grün eingestellt ist, wartet die Anfrage, bis sich der Status von gelb oder rot zu Grün ändert. Dies kann hilfreich sein, um festzustellen, ob die Korrektur, die Sie auf die Cluster -Arbeiten bewerben.
Den Reaktionskörper verstehen
Im vorherigen Beispiel haben wir eine Antwort auf die Gesundheit des Clusters im JSON -Format erhalten. Lassen Sie uns diskutieren, was jede der Einträge in der Antwort mit sich bringt.
cluster_name - Zeigt den Namen des angegebenen Elasticsearch -Clusters an.
Status - Der Gesundheitszustand des Clusters. Entweder: grün, gelb oder rot.
Timed_out - Ein boolescher oder falscher Fehler, der den Erhalt der Antwort innerhalb des maximalen Zeitlimitwerts beschreibt.
number_of_nodes - Die Gesamtzahl der Knoten im angegebenen Cluster.
number_of_data_nodes - Die Gesamtzahl der Daten, die den Daten gewidmet sind.
Active_primary_Shards - Die Gesamtzahl der aktiven Primärscherchen im Cluster.
Active_shards - Die Gesamtzahl der Scherben im Cluster. Sowohl Primär- als auch Replik -Scherben.
WANTOCATING_SHARDS - Anzahl der Scherben, die sich umgesetzt haben.
initialisieren_shards - Scherben, die sich initialisiert.
nicht zugewiesene_Shards - Gesamtzahl der nicht zugewiesenen Scherben.
Die oben genannten sind einige der wesentlichen Informationen aus der Antwort. Sie können mehr mit der Dokumentation erfahren.
Um die Informationen eines Indexclusters abzufragen, verwenden Sie die Abfrage wie unten gezeigt:
Get/_cluster/health/kibana_sample_data_ecommerce?Level = Scherben
Die obige Anforderung sollte eine Beispielausgabe zurückgeben, die der unten gezeigten ähnlich ist:
Zusammenfassen
In diesem Artikel wurde erläutert, wie man die Elasticsearch Health -API nutzt, um Informationen über die Gesundheit eines Clusters zu erhalten. Sie können die in diesem Leitfaden unterrichteten Konzepte verwenden, um ein automatisches Python -Skript zu erstellen, das die Gesundheit für einige Stunden überprüft und eine E -Mail sendet, wenn rot oder gelb.
Vielen Dank für das Lesen!