Pamamahala ng Gawain ng Elasticsearch

Pamamahala Ng Gawain Ng Elasticsearch



“Sa post na ito, titingnan natin ang isa sa Elasticsearch experimental API (sa oras ng pagsulat ng gabay na ito) na nagbibigay-daan sa amin na tingnan ang impormasyon tungkol sa kasalukuyang tumatakbong mga gawain sa isang cluster.

Ang pamamahala ng gawain ay isang malaking kadahilanan para sa sinumang tagapangasiwa, at kapag nagtatrabaho sa isang kumplikadong sistema tulad ng Elasticsearch, kakailanganin mong gumawa ng ilang gawain sa pagsubaybay.

Ipaalam sa amin kung ano ang kasama ng API na ito at kung paano ito makakatulong sa iyo bilang isang sys admin.







TANDAAN: Depende sa iyong configuration ng cluster at mga setting ng seguridad, ang API na ito ay maaaring mangailangan ng mga pribilehiyo sa pagsubaybay.



Humiling ng Syntax

Ipinapakita ng sumusunod ang syntax para sa pagpapadala ng kahilingan sa task management API.



GET / _mga gawain /< task_id >

GET / _mga gawain

Kapag hiniling mo ang API, dapat ibalik ng command ang detalyadong impormasyon tungkol sa mga kasalukuyang gawain o ang gawain na may tinukoy na ID.





Humiling ng Mga Parameter ng Path

Sinusuportahan ng kahilingan ang isang parameter ng path:

  • – isang natatanging ID value para sa gawain na nais mong makuha ang impormasyon. Ang task ID ay sumusunod sa pattern na node_id:task_number.

Humiling ng Mga Parameter ng Query

Upang i-customize ang gawi at ang format ng pagbabalik ng query, maaari mong tukuyin ang mga sumusunod na parameter:



  1. Mga Aksyon – tumutukoy ito sa isang hanay ng mga aksyon na ginamit upang limitahan ang kahilingan. Dito, maaari mong tukuyin ang mga pagkilos bilang isang listahan ng mga halagang pinaghihiwalay ng kuwit.
  2. Detalyadong – ito ay isang Boolean na parameter na tumutukoy kung ang kahilingan ay nagpapakita ng detalyadong impormasyon tungkol sa shard recoveries o hindi. Default ang opsyong ito sa false
  3. Group_by – itinatakda ang mga susi na ginamit upang pangkatin ang mga gawain mula sa tugon. Kabilang sa mga tinatanggap na halaga ang:
    • Mga node – node ID.
    • Mga magulang – ID ng magulang.
    • Node - huwag pangkat.
  4. Node_id – tumutukoy sa node o isang listahan ng mga node kung saan kukunin ang impormasyon.
  5. parent_task_id – tumutukoy sa parent ID na ginamit upang i-filter ang impormasyon ng tugon. Upang ipakita ang lahat ng mga gawain, tukuyin ang parent_task_id bilang -1.
  6. master_timeout – tumutukoy sa tagal kung kailan naghihintay ang kahilingan para sa koneksyon sa master node. Kung ang kahilingan ay hindi nakatanggap ng tugon mula sa master pagkatapos lumipas ang tagal ng master_timeout, ito ay nabigo at nagbabalik ng isang error. Ang default na tagal ay nakatakda sa 30 segundo.
  7. Timeout – katulad ng master_timeout, ngunit tinutukoy ng value na ito ang tagal kung kailan maghihintay para sa anumang tugon.
  8. Wait_for_completion – kung totoo, ang kahilingan ay hinarangan hanggang sa lumabas ang operasyon. Default sa false.

Tugon

Kung matagumpay, ang kahilingan ay magbabalik ng detalyadong impormasyon tungkol sa tinukoy na gawain o mga gawain. Kung ang gawain ay hindi natagpuan, ang kahilingan ay nagbabalik ng 404-status code.

Halimbawa ng Paggamit

Ang sumusunod na halimbawa ay nagpapakita kung paano gamitin ang task management API para magpakita ng impormasyon tungkol sa lahat ng gawaing tumatakbo sa cluster (lahat ng node).

kulot -XGET “http://localhost:9200/_tasks” -H 'kbn-xsrf: pag-uulat'

Ang kahilingan ay dapat magbigay ng impormasyon tungkol sa mga gawain sa cluster, tulad ng ipinapakita sa output sa ibaba:

Halimbawa 2

Sa susunod na halimbawa, ginagamit namin ang parameter ng node upang limitahan ang tugon sa mga gawain lamang na tumatakbo sa node na slave_1

kulot -XGET “http://localhost:9200/_tasks?nodes=slave_1” -H 'kbn-xsrf: pag-uulat'

Dapat nitong ibalik ang mga gawain sa tinukoy na node tulad ng ipinapakita sa output sa ibaba:

'mga gawain' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'node' : 'alipin_1' ,
'id' : 1651265 ,
'uri' : 'transportasyon' ,
'aksyon' : 'mga indeks:monitor/fleet/global_checkpoints' ,
'oras_pagsisimula_sa_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'cancellable' : hindi totoo,
'mga header' : {
'X-elastic-product-origin' : 'armada'
}
}

Halimbawa 3

Sa halimbawa 3, ginagamit namin ang task management API upang magpakita ng impormasyon tungkol sa gawain na may tinukoy na ID:

kulot -XGET “http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” -H 'kbn-xsrf: pag-uulat'

Ang impormasyon ng gawain sa output ay tulad ng ipinapakita:

Halimbawa 4

Upang magpakita ng detalyadong impormasyon tungkol sa gawain, idagdag ang detalyadong parameter sa kahilingan tulad ng ipinapakita:
[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
Dapat itong magbigay ng karagdagang impormasyon tungkol sa mga gawain:

Konklusyon

Ginalugad ng post na ito paano gamitin ang task management API sa Elasticsearch. Binibigyang-daan kami ng API na ito na kumuha ng impormasyon tungkol sa kasalukuyang pagpapatupad ng mga gawain sa cluster.

Cheers!! & Huhulihin kita sa susunod.