Správa úloh je pro každého administrátora obrovským faktorem a při práci se složitým systémem, jako je Elasticsearch, budete muset provádět určité monitorování úloh.“
Pojďme se podívat, co toto API obnáší a jak vám může pomoci jako správce systému.
POZNÁMKA: V závislosti na konfiguraci clusteru a nastavení zabezpečení může toto rozhraní API vyžadovat oprávnění k monitorování.
Syntaxe požadavku
Níže je uvedena syntaxe pro odeslání požadavku do rozhraní API pro správu úloh.
DOSTAT / _úkoly /< task_id >
DOSTAT / _úkoly
Jakmile požádáte o API, příkaz by měl vrátit podrobné informace o aktuálních úkolech nebo úkolu se zadaným ID.
Požadavek na parametry cesty
Požadavek podporuje jeden parametr cesty:
-
– jedinečná hodnota ID pro úlohu, jejíž informace chcete získat. ID úlohy se řídí vzorem node_id:task_number.
Požadavek na parametry dotazu
Chcete-li přizpůsobit chování a návratový formát dotazu, můžete zadat následující parametry:
- Akce – definuje sadu akcí používaných k omezení požadavku. Zde můžete definovat akce jako seznam hodnot oddělených čárkou.
- Detailed – jedná se o booleovský parametr, který definuje, zda požadavek zobrazuje podrobné informace o obnově shardu či nikoliv. Tato možnost má výchozí hodnotu false
- Group_by – nastavuje klíče používané k seskupování úkolů z odpovědi. Mezi přijatelné hodnoty patří:
- Nodes – ID uzlu.
- Rodiče – ID rodiče.
- Uzel – neseskupovat.
- Node_id – definuje uzel nebo seznam uzlů, ze kterých se mají načíst informace.
- parent_task_id – definuje rodičovské ID použité k filtrování informací o odpovědi. Chcete-li zobrazit všechny úkoly, zadejte parent_task_id jako -1.
- master_timeout – udává dobu, po kterou požadavek čeká na připojení k master uzlu. Pokud požadavek neobdrží odpověď od mastera po uplynutí doby master_timeout, selže a vrátí chybu. Výchozí doba trvání je nastavena na 30 sekund.
- Timeout – podobně jako master_timeout, ale tato hodnota definuje dobu, po kterou se má čekat na jakoukoli odpověď.
- Wait_for_completion – pokud je true, požadavek je zablokován, dokud operace neskončí. Výchozí hodnota je false.
Odezva
Pokud bude požadavek úspěšný, vrátí podrobné informace o zadaném úkolu nebo úkolech. Pokud není úkol nalezen, požadavek vrátí kód stavu 404.
Příklad použití
Následující příklad ukazuje, jak pomocí rozhraní API pro správu úloh zobrazit informace o všech úlohách spuštěných v klastru (všech uzlech).
curl -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: reporting'Požadavek by měl poskytovat informace o úkolech v clusteru, jak je uvedeno ve výstupu níže:
Příklad 2
V dalším příkladu použijeme parametr nodes k omezení odpovědi pouze na úlohy, které běží v uzlu slave_1
curl -XGET „http://localhost:9200/_tasks?nodes=slave_1“ -H 'kbn-xsrf: reporting'To by mělo vrátit úkoly v zadaném uzlu, jak je znázorněno na výstupu níže:
'úkoly' : {'Fit416fGR1GJefJxOxLurw:1651265' : {
'uzel' : 'slave_1' ,
'id' : 1651265 ,
'typ' : 'doprava' ,
'akce' : 'indexy:monitor/fleet/global_checkpoints' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'zrušitelný' : Nepravdivé,
'záhlaví' : {
'X-elastický-produkt-původ' : 'Flotila'
}
}
Příklad 3
V příkladu 3 používáme rozhraní API pro správu úloh k zobrazení informací o úloze se zadaným ID:
curl -XGET „http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310“ -H 'kbn-xsrf: reporting'Výstupní informace o úloze jsou následující:
Příklad 4
Chcete-li zobrazit podrobné informace o úloze, přidejte do požadavku podrobný parametr, jak je znázorněno:
[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 mělo poskytnout další informace o úkolech:
Závěr
Tento příspěvek prozkoumán jak používat API pro správu úloh v Elasticsearch. Toto API nám umožňuje získat informace o aktuálně prováděných úlohách v clusteru.
Na zdraví!! & Chytím tě v příštím.