Elasticsearch Upravljanje zadacima

Elasticsearch Upravljanje Zadacima



“U ovom ćemo postu pogledati jedan od Elasticsearch eksperimentalnih API-ja (u vrijeme pisanja ovog vodiča) koji nam omogućuje pregled informacija o trenutno pokrenutim zadacima u klasteru.

Upravljanje zadacima veliki je faktor za svakog administratora, a kada radite sa složenim sustavom kao što je Elasticsearch, morat ćete malo nadzirati zadatke.”

Dopustite nam da pokrijemo što ovaj API podrazumijeva i kako vam može pomoći kao administratoru sustava.







NAPOMENA: Ovisno o konfiguraciji vašeg klastera i sigurnosnim postavkama, ovaj API može zahtijevati privilegije nadgledanja.



Sintaksa zahtjeva

Sljedeće prikazuje sintaksu za slanje zahtjeva API-ju za upravljanje zadacima.



DOBITI / _zadaci /< task_id >

DOBITI / _zadaci

Nakon što zatražite API, naredba bi trebala vratiti detaljne informacije o trenutnim zadacima ili zadatku s navedenim ID-om.





Parametri staze zahtjeva

Zahtjev podržava jedan parametar staze:

  • – jedinstvena ID vrijednost za zadatak čije podatke želite dohvatiti. ID zadatka slijedi obrazac node_id:task_number.

Parametri upita zahtjeva

Da biste prilagodili ponašanje i povratni format upita, možete odrediti sljedeće parametre:



  1. Radnje – ovo definira skup akcija koje se koriste za ograničavanje zahtjeva. Ovdje možete definirati akcije kao popis vrijednosti odvojenih zarezima.
  2. Detaljno – ovo je Booleov parametar koji definira prikazuje li zahtjev detaljne informacije o oporavcima fragmenata ili ne. Zadana je opcija false
  3. Group_by – postavlja ključeve koji se koriste za grupiranje zadataka iz odgovora. Prihvaćene vrijednosti uključuju:
    • Čvorovi – ID čvora.
    • Roditelji – ID roditelja.
    • Čvor – ne grupiraj.
  4. Node_id – definira čvor ili popis čvorova iz kojih se dohvaćaju informacije.
  5. parent_task_id – definira nadređeni ID koji se koristi za filtriranje informacija odgovora. Za prikaz svih zadataka navedite parent_task_id kao -1.
  6. master_timeout – određuje trajanje u kojem zahtjev čeka na vezu s glavnim čvorom. Ako zahtjev ne dobije odgovor od mastera nakon što istekne trajanje master_timeout, ne uspijeva i vraća pogrešku. Zadano trajanje postavljeno je na 30 sekundi.
  7. Timeout – slično kao master_timeout, ali ova vrijednost definira trajanje tijekom kojeg treba čekati odgovor.
  8. Wait_for_completion – ako je točno, zahtjev je blokiran dok se operacija ne završi. Zadana vrijednost je false.

Odgovor

Ako bude uspješan, zahtjev će vratiti detaljne informacije o navedenom zadatku ili zadacima. Ako zadatak nije pronađen, zahtjev vraća kod statusa 404.

Primjer upotrebe

Sljedeći primjer pokazuje kako koristiti API za upravljanje zadacima za prikaz informacija o svim zadacima koji se izvode u klasteru (svi čvorovi).

kovrčati -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: izvješćivanje'

Zahtjev bi trebao pružiti informacije o zadacima u klasteru, kao što je prikazano u donjem izlazu:

Primjer 2

U sljedećem primjeru koristimo parametar čvorova da ograničimo odgovor samo na zadatke koji se izvode u čvoru slave_1

kovrčati -XGET “http://localhost:9200/_tasks?nodes=slave_1” -H 'kbn-xsrf: izvješćivanje'

Ovo bi trebalo vratiti zadatke u navedenom čvoru kao što je prikazano u donjem izlazu:

'zadaci' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'čvor' : 'rob_1' ,
'iskaznica' : 1651265 ,
'tip' : 'prijevoz' ,
'akcijski' : 'indeksi:monitor/flota/globalne_kontrolne točke' ,
'vrijeme_početka_u_milisekundama' : 1664214054489 ,
'vrijeme_izvođanja_u_nano' : 94450056094 ,
'opozivo' : lažno,
'zaglavlja' : {
'X-elastično-podrijetlo-proizvoda' : 'flota'
}
}

Primjer 3

U primjeru 3 koristimo API za upravljanje zadacima za prikaz informacija o zadatku s navedenim ID-om:

kovrčati -XGET “http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” -H 'kbn-xsrf: izvješćivanje'

Podaci o izlaznom zadatku su prikazani:

Primjer 4

Za prikaz detaljnih informacija o zadatku dodajte detaljni parametar zahtjevu kao što je prikazano:
[cc lang=”apache” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
kovrča -XGET “http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/c]c
Ovo bi trebalo pružiti dodatne informacije o zadacima:

Zaključak

Ovaj je post istražen kako koristiti API za upravljanje zadacima u Elasticsearchu. Ovaj nam API omogućuje dohvaćanje informacija o trenutno izvršavajućim zadacima u klasteru.

Živjeli!! i uhvatit ću te u sljedećem.