Elasticsearch-Aufgabenverwaltung

Elasticsearch Aufgabenverwaltung



„In diesem Beitrag werden wir uns eine der experimentellen APIs von Elasticsearch (zum Zeitpunkt der Erstellung dieses Leitfadens) ansehen, die es uns ermöglicht, Informationen über die derzeit ausgeführten Aufgaben in einem Cluster anzuzeigen.

Die Aufgabenverwaltung ist ein enormer Faktor für jeden Administrator, und wenn Sie mit einem komplexen System wie Elasticsearch arbeiten, müssen Sie einige Aufgaben überwachen.“

Lassen Sie uns erläutern, was diese API beinhaltet und wie sie Ihnen als Systemadministrator helfen kann.







HINWEIS: Abhängig von Ihrer Clusterkonfiguration und Ihren Sicherheitseinstellungen erfordert diese API möglicherweise Überwachungsberechtigungen.



Anforderungssyntax

Im Folgenden wird die Syntax zum Senden der Anforderung an die Aufgabenverwaltungs-API gezeigt.



ERHALTEN / _Aufgaben /< task_id >

ERHALTEN / _Aufgaben

Sobald Sie die API anfordern, sollte der Befehl detaillierte Informationen zu den aktuellen Aufgaben oder der Aufgabe mit der angegebenen ID zurückgeben.





Pfadparameter anfordern

Die Anfrage unterstützt einen Pfadparameter:

  • – ein eindeutiger ID-Wert für die Aufgabe, deren Informationen Sie abrufen möchten. Die Task-ID folgt dem Muster node_id:task_number.

Abfrageparameter anfordern

Um das Verhalten und das Rückgabeformat der Abfrage anzupassen, können Sie die folgenden Parameter angeben:



  1. Aktionen – Dies definiert eine Reihe von Aktionen, die zum Einschränken der Anfrage verwendet werden. Hier können Sie die Aktionen als Liste von kommaseparierten Werten definieren.
  2. Detailliert – Dies ist ein boolescher Parameter, der definiert, ob die Anfrage detaillierte Informationen zu Shard-Wiederherstellungen anzeigt oder nicht. Diese Option ist standardmäßig falsch
  3. Group_by – legt die Schlüssel fest, die zum Gruppieren der Aufgaben aus der Antwort verwendet werden. Zu den akzeptierten Werten gehören:
    • Knoten – Knoten-ID.
    • Eltern – Eltern-ID.
    • Knoten – nicht gruppieren.
  4. Node_id – definiert den Knoten oder eine Liste von Knoten, von denen die Informationen abgerufen werden sollen.
  5. parent_task_id – definiert die übergeordnete ID, die zum Filtern der Antwortinformationen verwendet wird. Um alle Aufgaben anzuzeigen, geben Sie parent_task_id als -1 an.
  6. master_timeout – gibt die Dauer an, die die Anfrage auf eine Verbindung zum Master-Knoten wartet. Wenn die Anfrage nach Ablauf der Dauer von master_timeout keine Antwort vom Master erhält, schlägt sie fehl und gibt einen Fehler zurück. Die Standarddauer ist auf 30 Sekunden eingestellt.
  7. Timeout – ähnlich wie master_timeout, aber dieser Wert definiert die Dauer, die auf eine Antwort gewartet werden soll.
  8. Wait_for_completion – wenn wahr, wird die Anfrage blockiert, bis die Operation beendet wird. Standardmäßig falsch.

Antwort

Bei Erfolg gibt die Anfrage detaillierte Informationen über die angegebene Aufgabe oder Aufgaben zurück. Wenn die Aufgabe nicht gefunden wird, gibt die Anfrage einen 404-Statuscode zurück.

Beispielnutzung

Das folgende Beispiel zeigt, wie die Aufgabenverwaltungs-API verwendet wird, um Informationen zu allen Aufgaben anzuzeigen, die im Cluster (alle Knoten) ausgeführt werden.

curl -XGET „http://localhost:9200/_tasks“ -H 'kbn-xsrf: Berichterstattung'

Die Anfrage sollte Informationen zu den Aufgaben im Cluster bereitstellen, wie in der folgenden Ausgabe gezeigt:

Beispiel 2

Im nächsten Beispiel verwenden wir den Parameter nodes, um die Antwort nur auf die Tasks zu beschränken, die im Knoten slave_1 ausgeführt werden

curl -XGET „http://localhost:9200/_tasks?nodes=slave_1“ -H 'kbn-xsrf: Berichterstattung'

Dies sollte die Aufgaben im angegebenen Knoten zurückgeben, wie in der folgenden Ausgabe gezeigt:

'Aufgaben' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'Knoten' : 'sklave_1' ,
'Ich würde' : 1651265 ,
'Typ' : 'Transport' ,
'Aktion' : 'indices:monitor/fleet/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'stornierbar' : FALSCH,
'Kopfzeilen' : {
'X-elastischer-Produkt-Ursprung' : 'Flotte'
}
}

Beispiel 3

In Beispiel 3 verwenden wir die Aufgabenverwaltungs-API, um Informationen über die Aufgabe mit der angegebenen ID anzuzeigen:

curl -XGET „http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310“ -H 'kbn-xsrf: Berichterstattung'

Informationen zur Ausgabeaufgabe werden wie folgt angezeigt:

Beispiel 4

Um detaillierte Informationen zur Aufgabe anzuzeigen, fügen Sie den detaillierten Parameter wie gezeigt zur Anfrage hinzu:
[cc lang=“apache“ width=“100%“ height=“100%“ escaped=“true“ theme=“blackboard“ nowrap=“0″]
curl -XGET „http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Dies sollte zusätzliche Informationen zu den Aufgaben enthalten:

Fazit

Dieser Beitrag untersucht wie man die Aufgabenverwaltungs-API in Elasticsearch verwendet. Diese API ermöglicht es uns, Informationen über aktuell ausgeführte Aufgaben im Cluster abzurufen.

Prost!! & Ich werde dich im nächsten erwischen.