Elasticsearch-taakbeheer

Elasticsearch Taakbeheer



'In dit bericht zullen we kijken naar een van de Elasticsearch-experimentele API's (op het moment van schrijven van deze handleiding) waarmee we informatie kunnen bekijken over de momenteel lopende taken in een cluster.

Taakbeheer is een enorme factor voor elke beheerder, en als je met een complex systeem als Elasticsearch werkt, moet je wat taakbewaking uitvoeren.”

Laten we bespreken wat deze API inhoudt en hoe deze u als systeembeheerder kan helpen.







OPMERKING: Afhankelijk van uw clusterconfiguratie en beveiligingsinstellingen, vereist deze API mogelijk monitorrechten.



Syntaxis aanvragen

Hieronder ziet u de syntaxis voor het verzenden van de aanvraag naar de taakbeheer-API.



KRIJGEN / _taken /< taak_id >

KRIJGEN / _taken

Nadat u de API hebt aangevraagd, moet de opdracht gedetailleerde informatie retourneren over de huidige taken of de taak met de opgegeven ID.





Padparameters aanvragen

De aanvraag ondersteunt één padparameter:

  • – een unieke ID-waarde voor de taak waarvan u de informatie wilt ophalen. De taak-ID volgt het patroon node_id:task_number.

Queryparameters aanvragen

Als u het gedrag en de retourindeling van de query wilt aanpassen, kunt u de volgende parameters opgeven:



  1. Acties - dit definieert een reeks acties die worden gebruikt om het verzoek te beperken. Hier kunt u de acties definiëren als een lijst met door komma's gescheiden waarden.
  2. Gedetailleerd: dit is een Booleaanse parameter die bepaalt of de aanvraag gedetailleerde informatie over shardherstel weergeeft of niet. Deze optie is standaard ingesteld op false
  3. Group_by - stelt de sleutels in die worden gebruikt om de taken uit het antwoord te groeperen. Geaccepteerde waarden zijn onder meer:
    • Knooppunten - knooppunt-ID.
    • Ouders - ouder-ID.
    • Knooppunt - niet groeperen.
  4. Node_id – definieert het knooppunt of een lijst met knooppunten waaruit de informatie moet worden opgehaald.
  5. parent_task_id – definieert de bovenliggende ID die wordt gebruikt om de antwoordinformatie te filteren. Om alle taken weer te geven, geeft u de parent_task_id op als -1.
  6. master_timeout - specificeert de duur waarop het verzoek wacht op een verbinding met het hoofdknooppunt. Als het verzoek geen antwoord van de master ontvangt nadat de master_timeout-duur is verstreken, mislukt het en wordt een fout geretourneerd. De standaardduur is ingesteld op 30 sec.
  7. Time-out – vergelijkbaar met master_timeout, maar deze waarde definieert de duur waarop op een reactie moet worden gewacht.
  8. Wait_for_completion - indien waar, wordt het verzoek geblokkeerd totdat de bewerking wordt afgesloten. Standaard ingesteld op false.

Antwoord

Indien succesvol, zal het verzoek gedetailleerde informatie over de gespecificeerde taak of taken teruggeven. Als de taak niet wordt gevonden, retourneert het verzoek een 404-statuscode.

Voorbeeldgebruik:

In het volgende voorbeeld ziet u hoe u de API voor taakbeheer gebruikt om informatie weer te geven over alle taken die in het cluster worden uitgevoerd (alle knooppunten).

krul -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: rapportage'

Het verzoek moet informatie bevatten over de taken in het cluster, zoals weergegeven in de onderstaande uitvoer:

Voorbeeld 2

In het volgende voorbeeld gebruiken we de parameter nodes om de respons te beperken tot alleen de taken die worden uitgevoerd in de node slave_1

krul -XGET “http://localhost:9200/_tasks?nodes=slave_1” -H 'kbn-xsrf: rapportage'

Dit zou de taken in het opgegeven knooppunt moeten retourneren, zoals weergegeven in de onderstaande uitvoer:

'taken' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'knooppunt' : 'slave_1' ,
'ID kaart' : 1651265 ,
'type' : 'vervoer' ,
'actie' : 'indexen:monitor/vloot/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'opzegbaar' : vals,
'kopteksten' : {
'X-elastische-product-oorsprong' : 'vloot'
}
}

Voorbeeld 3

In voorbeeld 3 gebruiken we de taakbeheer-API om informatie weer te geven over de taak met de opgegeven ID:

krul -XGET “http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” -H 'kbn-xsrf: rapportage'

De informatie over de uitvoertaak is zoals weergegeven:

Voorbeeld 4

Om gedetailleerde informatie over de taak weer te geven, voegt u de gedetailleerde parameter toe aan de aanvraag, zoals weergegeven:
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
krul -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Dit zou aanvullende informatie over de taken moeten opleveren:

Conclusie

Dit bericht verkend hoe u de taakbeheer-API in Elasticsearch gebruikt. Met deze API kunnen we informatie ophalen over de taken die momenteel worden uitgevoerd in het cluster.

Proost!! & ik zal je in de volgende vangen.