Elasticsearch Task Management

Elasticsearch Task Management



'I dette indlæg vil vi se på en af ​​Elasticsearch eksperimentelle API'er (på tidspunktet for skrivningen af ​​denne guide), der gør det muligt for os at se information om de aktuelt kørende opgaver i en klynge.

Opgavestyring er en enorm faktor for enhver administrator, og når du arbejder med et komplekst system som Elasticsearch, bliver du nødt til at lave noget opgaveovervågning.'

Lad os dække, hvad denne API indebærer, og hvordan den kan hjælpe dig som sys-administrator.







BEMÆRK: Afhængigt af din klyngekonfiguration og sikkerhedsindstillinger kan denne API kræve overvågningsrettigheder.



Anmod om syntaks

Det følgende viser syntaksen for at sende anmodningen til opgavestyrings-API'en.



/ _opgaver /< opgave-id >

/ _opgaver

Når du anmoder om API'en, skal kommandoen returnere detaljerede oplysninger om de aktuelle opgaver eller opgaven med det angivne ID.





Anmod om stiparametre

Anmodningen understøtter én stiparameter:

  • – en unik ID-værdi for den opgave, hvis oplysninger du ønsker at hente. Opgave-id'et følger mønsteret node_id:task_number.

Anmod om forespørgselsparametre

For at tilpasse adfærden og returformatet for forespørgslen kan du angive følgende parametre:



  1. Handlinger – dette definerer et sæt handlinger, der bruges til at begrænse anmodningen. Her kan du definere handlingerne som en liste over kommaseparerede værdier.
  2. Detaljeret – dette er en boolsk parameter, der definerer, om anmodningen viser detaljerede oplysninger om shard-gendannelser eller ej. Denne indstilling er som standard falsk
  3. Group_by – indstiller tasterne, der bruges til at gruppere opgaverne fra svaret. Accepterede værdier inkluderer:
    • Noder – node ID.
    • Forældre – forældre-ID.
    • Node – grupper ikke.
  4. Node_id – definerer noden eller en liste over noder, hvorfra informationen skal hentes.
  5. parent_task_id – definerer det overordnede ID, der bruges til at filtrere svaroplysningerne. For at vise alle opgaver skal du angive parent_task_id som -1.
  6. master_timeout – angiver varigheden, hvormed anmodningen venter på en forbindelse til masterknuden. Hvis anmodningen ikke modtager et svar fra masteren, efter master_timeout-varigheden er udløbet, mislykkes den og returnerer en fejl. Standardvarigheden er indstillet til 30 sek.
  7. Timeout – ligner master_timeout, men denne værdi definerer varigheden, hvorpå der skal ventes på ethvert svar.
  8. Wait_for_completion – hvis det er sandt, blokeres anmodningen, indtil operationen afsluttes. Standard er falsk.

Respons

Hvis det lykkes, vil anmodningen returnere detaljerede oplysninger om den eller de angivne opgaver. Hvis opgaven ikke findes, returnerer anmodningen en 404-statuskode.

Eksempel på brug

Følgende eksempel viser, hvordan du bruger opgavestyrings-API'en til at vise oplysninger om alle de opgaver, der kører i klyngen (alle noder).

krølle -XGET 'http://localhost:9200/_tasks' -H 'kbn-xsrf: rapportering'

Anmodningen skal give oplysninger om opgaverne i klyngen, som vist i outputtet nedenfor:

Eksempel 2

I det næste eksempel bruger vi parameteren nodes til at begrænse svaret til kun de opgaver, der kører i noden slave_1

krølle -XGET 'http://localhost:9200/_tasks?nodes=slave_1' -H 'kbn-xsrf: rapportering'

Dette skulle returnere opgaverne i den angivne node som vist i outputtet nedenfor:

'opgaver' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'node' : 'slave_1' ,
'id' : 1651265 ,
'type' : 'transportere' ,
'handling' : 'indekser:monitor/flåde/globale_kontrolpunkter' ,
'start_tid_i_millis' : 1664214054489 ,
'løbetid_i_nanos' : 94450056094 ,
'kan aflyses' : falsk,
'overskrifter' : {
'X-elastisk-produkt-oprindelse' : 'flåde'
}
}

Eksempel 3

I eksempel 3 bruger vi opgavestyrings-API'en til at vise information om opgaven med det angivne ID:

krølle -XGET 'http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310' -H 'kbn-xsrf: rapportering'

Output opgaveoplysninger er som vist:

Eksempel 4

For at vise detaljerede oplysninger om opgaven skal du tilføje den detaljerede parameter til anmodningen som vist:
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
krølle -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Dette skal give yderligere oplysninger om opgaverne:

Konklusion

Dette indlæg udforsket hvordan man bruger opgavestyrings-API'en i Elasticsearch. Denne API giver os mulighed for at hente information om aktuelt udførende opgaver i klyngen.

Skål!! & jeg fanger dig i den næste.