Elasticsearch Task Management

Elasticsearch Task Management



'I det här inlägget kommer vi att titta på ett av Elasticsearch experimentella API (när den här guiden skrivs) som gör det möjligt för oss att se information om de aktuella uppgifterna i ett kluster.

Uppgiftshantering är en enorm faktor för alla administratörer, och när du arbetar med ett komplext system som Elasticsearch måste du göra en viss uppgiftsövervakning.”

Låt oss täcka vad detta API innebär och hur det kan hjälpa dig som sys-administratör.







OBS: Beroende på din klusterkonfiguration och säkerhetsinställningar kan detta API kräva övervakningsprivilegier.



Begär syntax

Följande visar syntaxen för att skicka begäran till API:et för uppgiftshantering.



SKAFFA SIG / _uppgifter /< uppgifts-id >

SKAFFA SIG / _uppgifter

När du har begärt API:t bör kommandot returnera detaljerad information om de aktuella uppgifterna eller uppgiften med angivet ID.





Begär sökvägsparametrar

Begäran stöder en sökvägsparameter:

  • – ett unikt ID-värde för uppgiften vars information du vill hämta. Uppgifts-ID:t följer mönstret node_id:task_number.

Begär frågeparametrar

För att anpassa beteendet och returformatet för frågan kan du ange följande parametrar:



  1. Åtgärder – detta definierar en uppsättning åtgärder som används för att begränsa begäran. Här kan du definiera åtgärderna som en lista med kommaseparerade värden.
  2. Detaljerad – detta är en boolesk parameter som definierar om begäran visar detaljerad information om shard-återställning eller inte. Det här alternativet är som standard falskt
  3. Group_by – ställer in nycklarna som används för att gruppera uppgifterna från svaret. Godkända värden inkluderar:
    • Noder – nod-ID.
    • Föräldrar – föräldra-ID.
    • Nod – gruppera inte.
  4. Node_id – definierar noden eller en lista med noder som informationen ska hämtas från.
  5. parent_task_id – definierar det föräldra-ID som används för att filtrera svarsinformationen. För att visa alla uppgifter, ange parent_task_id som -1.
  6. master_timeout – anger hur länge förfrågan väntar på en anslutning till masternoden. Om begäran inte får något svar från mastern efter att master_timeout-tiden har förflutit, misslyckas den och returnerar ett fel. Standardvaraktigheten är inställd på 30 sek.
  7. Timeout – liknar master_timeout, men detta värde definierar varaktigheten för att vänta på något svar.
  8. Wait_for_completion – om det är sant, blockeras begäran tills operationen avslutas. Standardinställningen är falsk.

Svar

Om den lyckas kommer begäran att returnera detaljerad information om den eller de angivna uppgifterna. Om uppgiften inte hittas returnerar begäran en 404-statuskod.

Exempel på användning

Följande exempel visar hur du använder API:et för uppgiftshantering för att visa information om alla uppgifter som körs i klustret (alla noder).

curl -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: rapportering'

Begäran bör ge information om uppgifterna i klustret, som visas i utgången nedan:

Exempel 2

I nästa exempel använder vi parametern nodes för att begränsa svaret till endast de uppgifter som körs i noden slave_1

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

Detta bör returnera uppgifterna i den angivna noden som visas i utgången nedan:

'uppgifter' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'nod' : 'slav_1' ,
'id' : 1651265 ,
'typ' : 'transport' ,
'handling' : 'index:monitor/flotta/global_checkpoints' ,
'start_tid_i_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'avbrytbar' : falskt,
'huvuden' : {
'X-elastic-product-origin' : 'flotta'
}
}

Exempel 3

I exempel 3 använder vi task management API för att visa information om uppgiften med det angivna ID:t:

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

Utdatauppgiftsinformation är som visas:

Exempel 4

För att visa detaljerad information om uppgiften, lägg till den detaljerade parametern i begäran enligt bilden:
[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
Detta bör ge ytterligare information om uppgifterna:

Slutsats

Detta inlägg utforskade hur man använder API:et för uppgiftshantering i Elasticsearch. Detta API tillåter oss att hämta information om för närvarande utförda uppgifter i klustret.

Skål!! & jag kommer att fånga dig i nästa.