Managementul sarcinilor este un factor uriaș pentru orice administrator, iar atunci când lucrați cu un sistem complex precum Elasticsearch, va trebui să monitorizați sarcinile.”
Permiteți-ne să discutăm ce presupune acest API și cum vă poate ajuta ca administrator de sistem.
NOTĂ: În funcție de configurația clusterului și de setările de securitate, acest API poate necesita privilegii de monitorizare.
Sintaxa de solicitare
Următoarele arată sintaxa pentru trimiterea cererii către API-ul de gestionare a activităților.
OBȚINE / _sarcini /< task_id >
OBȚINE / _sarcini
Odată ce solicitați API-ul, comanda ar trebui să returneze informații detaliate despre sarcinile curente sau despre sarcina cu ID-ul specificat.
Solicitați parametrii căii
Solicitarea acceptă un parametru de cale:
-
– o valoare ID unică pentru sarcina ale cărei informații doriți să le regăsiți. ID-ul sarcinii urmează modelul node_id:task_number.
Solicitați parametrii de interogare
Pentru a personaliza comportamentul și formatul de returnare al interogării, puteți specifica următorii parametri:
- Acțiuni – aceasta definește un set de acțiuni utilizate pentru a limita solicitarea. Aici, puteți defini acțiunile ca o listă de valori separate prin virgulă.
- Detaliat – acesta este un parametru boolean care definește dacă cererea afișează sau nu informații detaliate despre recuperările fragmentelor. Această opțiune este implicită false
- Group_by – setează cheile folosite pentru a grupa sarcinile din răspuns. Valorile acceptate includ:
- Noduri – ID-ul nodului.
- Părinți – ID de părinte.
- Nod – nu grupați.
- Node_id – definește nodul sau o listă de noduri de la care să preia informațiile.
- parent_task_id – definește ID-ul părinte utilizat pentru a filtra informațiile de răspuns. Pentru a afișa toate sarcinile, specificați parent_task_id ca -1.
- master_timeout – specifică durata la care cererea așteaptă o conexiune la nodul master. Dacă cererea nu primește un răspuns de la master după expirarea duratei master_timeout, eșuează și returnează o eroare. Durata implicită este setată la 30 de secunde.
- Timeout – similar cu master_timeout, dar această valoare definește durata de așteptare pentru orice răspuns.
- Wait_for_completion – dacă este adevărat, cererea este blocată până la ieșirea operației. Implicit la fals.
Raspuns
Dacă are succes, cererea va returna informații detaliate despre sarcina sau sarcinile specificate. Dacă sarcina nu este găsită, cererea returnează un cod de stare 404.
Exemplu de utilizare
Următorul exemplu arată cum să utilizați API-ul de gestionare a activităților pentru a afișa informații despre toate sarcinile care rulează în cluster (toate nodurile).
curl -XGET „http://localhost:9200/_tasks” -H „kbn-xsrf: raportare”Solicitarea ar trebui să ofere informații despre sarcinile din cluster, așa cum se arată în rezultatul de mai jos:
Exemplul 2
În exemplul următor, folosim parametrul nodes pentru a limita răspunsul doar la sarcinile care rulează în nodul slave_1
curl -XGET „http://localhost:9200/_tasks?nodes=slave_1” -H „kbn-xsrf: raportare”Aceasta ar trebui să returneze sarcinile în nodul specificat, așa cum se arată în rezultatul de mai jos:
'sarcini' : {„Fit416fGR1GJefJxOxLurw:1651265” : {
'nodul' : „slave_1” ,
'id' : 1651265 ,
'tip' : 'transport' ,
'acțiune' : „indices:monitor/fleet/global_checkpoints” ,
„start_time_in_millis” : 1664214054489 ,
„timp_de_rulare_în_nanos” : 94450056094 ,
'anulabil' : fals,
'anteturi' : {
„Originea-produsului-X-elastic” : 'flota'
}
}
Exemplul 3
În exemplul 3, folosim API-ul de gestionare a sarcinilor pentru a afișa informații despre sarcină cu ID-ul specificat:
curl -XGET „http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310” -H „kbn-xsrf: raportare”Informațiile despre sarcina de ieșire sunt așa cum se arată:
Exemplul 4
Pentru a afișa informații detaliate despre sarcină, adăugați parametrul detaliat la cerere, așa cum se arată:
[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
Aceasta ar trebui să ofere informații suplimentare despre sarcini:
Concluzie
Această postare a fost explorată cum să utilizați API-ul de gestionare a sarcinilor în Elasticsearch. Acest API ne permite să extragem informații despre sarcinile care se execută în prezent în cluster.
Noroc!! & te voi prinde în următorul.