Správa úloh Elasticsearch

Sprava Uloh Elasticsearch



„V tomto příspěvku se podíváme na jedno z experimentálních API Elasticsearch (v době psaní této příručky), které nám umožňuje zobrazit informace o aktuálně běžících úlohách v clusteru.

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:



  1. Akce – definuje sadu akcí používaných k omezení požadavku. Zde můžete definovat akce jako seznam hodnot oddělených čárkou.
  2. 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
  3. 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.
  4. Node_id – definuje uzel nebo seznam uzlů, ze kterých se mají načíst informace.
  5. 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.
  6. 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.
  7. Timeout – podobně jako master_timeout, ale tato hodnota definuje dobu, po kterou se má čekat na jakoukoli odpověď.
  8. 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.