Správa úloh je obrovským faktorom pre každého správcu a pri práci so zložitým systémom, akým je Elasticsearch, budete musieť vykonávať určité monitorovanie úloh.“
Pozrime sa, čo toto API obnáša a ako vám môže pomôcť ako správcovi systému.
POZNÁMKA: V závislosti od konfigurácie klastra a nastavení zabezpečenia môže toto rozhranie API vyžadovať oprávnenia monitora.
Požiadať o syntax
Nasleduje syntax na odoslanie požiadavky do API na správu úloh.
GET / _úlohy /< task_id >
GET / _úlohy
Keď požiadate o API, príkaz by mal vrátiť podrobné informácie o aktuálnych úlohách alebo úlohe so zadaným ID.
Požiadať o parametre cesty
Požiadavka podporuje jeden parameter cesty:
-
– jedinečná hodnota ID pre úlohu, ktorej informácie chcete získať. ID úlohy sa riadi vzorom node_id:task_number.
Vyžiadať parametre dopytu
Ak chcete prispôsobiť správanie a návratový formát dotazu, môžete zadať nasledujúce parametre:
- Akcie – definuje množinu akcií používaných na obmedzenie požiadavky. Tu môžete definovať akcie ako zoznam hodnôt oddelených čiarkou.
- Detailed – ide o boolovský parameter, ktorý definuje, či požiadavka zobrazuje podrobné informácie o obnove fragmentov alebo nie. Táto možnosť je predvolená na hodnotu false
- Group_by – nastavuje kľúče používané na zoskupovanie úloh z odpovede. Akceptované hodnoty zahŕňajú:
- Uzly – ID uzla.
- Rodičia – ID rodiča.
- Uzol – nezoskupovať.
- Node_id – definuje uzol alebo zoznam uzlov, z ktorých sa majú získať informácie.
- parent_task_id – definuje rodičovské ID používané na filtrovanie informácií o odpovedi. Ak chcete zobraziť všetky úlohy, zadajte parent_task_id ako -1.
- master_timeout – určuje dobu, počas ktorej požiadavka čaká na spojenie s hlavným uzlom. Ak požiadavka nedostane odpoveď od mastera po uplynutí doby master_timeout, zlyhá a vráti chybu. Predvolená doba trvania je nastavená na 30 sekúnd.
- Timeout – podobne ako master_timeout, ale táto hodnota definuje dobu, počas ktorej sa má čakať na akúkoľvek odpoveď.
- Wait_for_completion – ak je pravda, požiadavka je zablokovaná, kým sa operácia neukončí. Predvolená hodnota je nepravda.
odpoveď
Ak je žiadosť úspešná, vráti podrobné informácie o zadanej úlohe alebo úlohách. Ak sa úloha nenájde, požiadavka vráti 404-stavový kód.
Príklad použitia
Nasledujúci príklad ukazuje, ako použiť API na správu úloh na zobrazenie informácií o všetkých úlohách spustených v klastri (všetky uzly).
curl -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: reporting'Žiadosť by mala poskytnúť informácie o úlohách v klastri, ako je uvedené vo výstupe nižšie:
Príklad 2
V ďalšom príklade použijeme parameter nodes na obmedzenie odpovede iba na úlohy, ktoré sú spustené v uzle slave_1
curl -XGET „http://localhost:9200/_tasks?nodes=slave_1“ -H 'kbn-xsrf: reporting'Toto by malo vrátiť úlohy v zadanom uzle, ako je znázornené na výstupe nižšie:
'úlohy' : {'Fit416fGR1GJefJxOxLurw:1651265' : {
'uzol' : 'slave_1' ,
'id' : 1651265 ,
'typ' : 'doprava' ,
'akcia' : 'indexy:monitor/fleet/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'zrušiteľné' : nepravda,
'hlavičky' : {
'X-elastic-product-origin' : 'flotila'
}
}
Príklad 3
V príklade 3 používame rozhranie API na správu úloh na zobrazenie informácií o úlohe so zadaným ID:
curl -XGET „http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310“ -H 'kbn-xsrf: reporting'Výstupné informácie o úlohe vyzerajú takto:
Príklad 4
Ak chcete zobraziť podrobné informácie o úlohe, pridajte do požiadavky podrobný parameter, ako je znázornené:
[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
To by malo poskytnúť ďalšie informácie o úlohách:
Záver
Tento príspevok bol preskúmaný ako používať API na správu úloh v Elasticsearch. Toto API nám umožňuje získať informácie o aktuálne vykonávaných úlohách v klastri.
Na zdravie!! & Chytím ťa v ďalšom.