Elasticsearch Task Management

Elasticsearch Task Management
"I dette innlegget vil vi se på en av Elasticsearch Experimental API (i skrivende stund) som gjør det mulig for oss å se informasjon om de som kjører oppgavene i en klynge.

Oppgavestyring er en enorm faktor for enhver administrator, og når du jobber med et komplekst system som Elasticsearch, må du gjøre noen oppgaveovervåking.”

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

Merk: Avhengig av klyngekonfigurasjons- og sikkerhetsinnstillingene dine, kan dette API kreve skjermprivilegier.

Be om syntaks

Følgende viser syntaks for å sende forespørselen til oppgavestyring API.

Få /_tasker /
Få /_tasker

Når du har bedt om API, bør kommandoen returnere detaljert informasjon om gjeldende oppgaver eller oppgaven med den spesifiserte IDen.

Be om baneparametere

Forespørselen støtter en baneparameter:

  • - en unik ID -verdi for oppgaven hvis informasjon du ønsker å hente. Oppgave -IDen følger mønsteret Node_id: Task_number.

Be om spørringsparametere

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

  1. Handlinger - Dette definerer et sett med handlinger som brukes til å begrense forespørselen. Her kan du definere handlingene som en liste over komma-separerte verdier.
  2. Detaljert - Dette er en boolsk parameter som definerer om forespørselen viser detaljert informasjon om Shard Recoveries eller ikke. Dette alternativet er standard for usant
  3. Group_by - Angir nøklene som brukes til å gruppere oppgavene fra responsen. Aksepterte verdier inkluderer:
    • Noder - node -ID.
    • Foreldre - Foreldre -ID.
    • Node - Ikke gruppere.
  4. Node_id - Definerer noden eller en liste over noder som du kan hente informasjonen.
  5. parent_task_id - Definerer foreldre -IDen som brukes til å filtrere svarinformasjonen. For å vise alle oppgaver, spesifiser Parent_Task_id AS -1.
  6. master_timeout - Angir varigheten som forespørselen venter på en forbindelse til masternoden. Hvis forespørselen ikke mottar svar fra masteren etter at master_timeout varigheten er gått, mislykkes den og returnerer en feil. Standardvarigheten er satt til 30 sekunder.
  7. Timeout - ligner på master_timeout, men denne verdien definerer varigheten å vente på noe svar.
  8. Wait_for_completion - Hvis sant, er forespørselen blokkert til operasjonen går ut. Standard til False.

Respons

Hvis vellykket, vil forespørselen returnere detaljert informasjon om den spesifiserte oppgaven eller oppgavene. Hvis oppgaven ikke blir funnet, returnerer forespørselen en 404-status-kode.

Eksempelbruk

Følgende eksempel viser hvordan du bruker Task Management API for å vise informasjon om alle oppgavene som kjører i klyngen (alle noder).

Curl -xget "http: // localhost: 9200/_tasks" -h "kbn -xsrf: rapportering"

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

Eksempel 2

I det neste eksemplet bruker vi noderparameteren for å begrense responsen til bare oppgavene som kjører i noden slave_1

Curl -xget "http: // localhost: 9200/_tasker?noder = slave_1 "-h" kbn -xsrf: rapportering "

Dette skal returnere oppgavene i den spesifiserte noden som vist i utgangen nedenfor:

"oppgaver":
"FIT416FGR1GJEFJXOXLURW: 1651265":
"Node": "Slave_1",
"ID": 1651265,
"Type": "Transport",
"Handling": "Indekser: Monitor/Fleet/Global_Checkpoints",
"start_time_in_millis": 1664214054489,
"Running_time_in_nanos": 94450056094,
"Cancellable": FALSE,
"Headers":
"X-elastisk-produkt-opprinnelse": "flåte"

Eksempel 3

I eksempel 3 bruker vi Task Management API for å vise informasjon om oppgaven med den spesifiserte IDen:

Curl -xget "http: // localhost: 9200/_tasks/fit416fgr1gjefjxoxlurw: 1656310" -h "kbn -xsrf: rapportering"

Informasjon om utgangsoppgave er som vist:

Eksempel 4

For å vise detaljert informasjon om oppgaven, legg til den detaljerte parameteren til forespørselen som vist:

Curl -xget "http: // localhost: 9200/_tasker?detaljert = sant "-h" kbn -xsrf: rapportering "

Dette bør gi tilleggsinformasjon om oppgavene:

Konklusjon

Dette innlegget utforsket hvordan du bruker oppgavestyring API i Elasticsearch. Denne API lar oss hente informasjon om utførende oppgaver i klyngen som for øyeblikket.

Jubel!! & Jeg vil fange deg i den neste.