Elasticsearch Task Management

Elasticsearch Task Management



'I dette innlegget vil vi se på en av Elasticsearch eksperimentelle API (i skrivende stund denne veiledningen) som lar oss se informasjon om oppgavene som kjører i en klynge.

Oppgavebehandling er en stor faktor for enhver administrator, og når du arbeider med et komplekst system som Elasticsearch, må du gjøre noe oppgaveovervåking.»

La oss dekke hva denne API-en innebærer og hvordan den kan hjelpe deg som sys-administrator.







MERK: Avhengig av klyngekonfigurasjonen og sikkerhetsinnstillingene, kan denne API-en kreve overvåkingsrettigheter.



Be om syntaks

Følgende viser syntaksen for å sende forespørselen til API for oppgaveadministrasjon.



/ _oppgaver /< oppgave-ID >

/ _oppgaver

Når du ber om API, skal kommandoen returnere detaljert informasjon om gjeldende oppgaver eller oppgaven med den angitte IDen.





Be om baneparametere

Forespørselen støtter én baneparameter:

  • – en unik ID-verdi for oppgaven du ønsker å hente informasjon om. Oppgave-IDen følger mønsteret node_id:task_number.

Be om spørringsparametre

For å tilpasse oppførselen og returformatet til spørringen, kan du spesifisere følgende parametere:



  1. Handlinger – dette definerer et sett med handlinger som brukes for å begrense forespørselen. Her kan du definere handlingene som en liste over kommadelte verdier.
  2. Detaljert – dette er en boolsk parameter som definerer om forespørselen viser detaljert informasjon om gjenopprettinger av shard eller ikke. Dette alternativet er som standard falsk
  3. Group_by – angir tastene som brukes til å gruppere oppgavene fra svaret. Godkjente verdier inkluderer:
    • Noder – node-ID.
    • Foreldre – foreldre-ID.
    • Node – ikke grupper.
  4. Node_id – definerer noden eller en liste over noder som informasjonen skal hentes fra.
  5. parent_task_id – definerer overordnet ID som brukes til å filtrere svarinformasjonen. For å vise alle oppgaver, spesifiser parent_task_id som -1.
  6. master_timeout – spesifiserer varigheten der forespørselen venter på en tilkobling til masternoden. Hvis forespørselen ikke mottar et svar fra masteren etter at master_timeout-varigheten er utløpt, mislykkes den og returnerer en feil. Standard varighet er satt til 30 sek.
  7. Timeout – ligner på master_timeout, men denne verdien definerer varigheten for å vente på ethvert svar.
  8. Wait_for_completion – hvis sant, blir forespørselen blokkert til operasjonen avsluttes. Standard er falsk.

Respons

Hvis den lykkes, vil forespørselen returnere detaljert informasjon om den angitte oppgaven eller oppgavene. Hvis oppgaven ikke blir funnet, returnerer forespørselen en 404-statuskode.

Eksempel på bruk

Følgende eksempel viser hvordan du bruker oppgaveadministrasjons-APIet til å vise informasjon om alle oppgavene som kjører i klyngen (alle noder).

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

Forespørselen skal gi informasjon om oppgavene i klyngen, som vist i utdataene nedenfor:

Eksempel 2

I det neste eksempelet bruker vi nodes-parameteren for å begrense responsen til bare oppgavene som kjører i noden slave_1

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

Dette skal returnere oppgavene i den angitte noden som vist i utdataene nedenfor:

'oppgaver' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'node' : 'slave_1' ,
'id' : 1651265 ,
'type' : 'transportere' ,
'handling' : 'indekser:monitor/flåte/globale_sjekkpunkter' ,
'start_time_in_millis' : 1664214054489 ,
«løpetid_i_nanos» : 94450056094 ,
'kansellerbar' : falsk,
'overskrifter' : {
'X-elastisk-produkt-opprinnelse' : 'flåte'
}
}

Eksempel 3

I eksempel 3 bruker vi oppgavestyrings-API for å vise informasjon om oppgaven med den angitte IDen:

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

Utdataoppgaveinformasjon er som vist:

Eksempel 4

For å vise detaljert informasjon om oppgaven, legg til den detaljerte parameteren i forespørselen som vist:
[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
Dette skal gi ytterligere informasjon om oppgavene:

Konklusjon

Dette innlegget utforsket hvordan du bruker oppgaveadministrasjons-APIet i Elasticsearch. Denne API-en lar oss hente informasjon om utførende oppgaver i klyngen.

Jubel!! og jeg tar deg i neste.