Elasticsearch Управление на задачи

Elasticsearch Upravlenie Na Zadaci



„В тази публикация ще разгледаме един от експерименталните API на Elasticsearch (по време на писане на това ръководство), който ни позволява да преглеждаме информация за изпълняваните в момента задачи в клъстер.

Управлението на задачите е огромен фактор за всеки администратор и когато работите със сложна система като Elasticsearch, ще трябва да извършвате известно наблюдение на задачи.“

Нека разгледаме какво включва този API и как може да ви помогне като системен администратор.







ЗАБЕЛЕЖКА: В зависимост от конфигурацията на вашия клъстер и настройките за сигурност, този API може да изисква привилегии за наблюдение.



Синтаксис на заявката

Следното показва синтаксиса за изпращане на заявката към API за управление на задачи.



ВЗЕМЕТЕ / _задачи /< task_id >

ВЗЕМЕТЕ / _задачи

След като поискате API, командата трябва да върне подробна информация за текущите задачи или задачата с посочения идентификатор.





Параметри на пътя на заявката

Заявката поддържа един параметър на пътя:

  • – уникална стойност на ID за задачата, чиято информация искате да извлечете. Идентификаторът на задачата следва модела node_id: номер_задача.

Параметри на заявката за заявка

За да персонализирате поведението и формата на връщане на заявката, можете да посочите следните параметри:



  1. Действия – това определя набор от действия, използвани за ограничаване на заявката. Тук можете да дефинирате действията като списък от стойности, разделени със запетая.
  2. Подробно – това е булев параметър, който определя дали заявката показва подробна информация за възстановяването на шард или не. Тази опция по подразбиране е false
  3. Group_by – задава ключовете, използвани за групиране на задачите от отговора. Приетите стойности включват:
    • Възли – ID на възел.
    • Родители – идентификатор на родител.
    • Възел – не групирайте.
  4. Node_id – дефинира възела или списък от възли, от които да се извлече информацията.
  5. parent_task_id – дефинира родителския идентификатор, използван за филтриране на информацията за отговор. За да покажете всички задачи, посочете parent_task_id като -1.
  6. master_timeout – определя продължителността, при която заявката чака връзка с главния възел. Ако заявката не получи отговор от главния след изтичане на продължителността на master_timeout, тя е неуспешна и връща грешка. Продължителността по подразбиране е зададена на 30 сек.
  7. Изчакване – подобно на master_timeout, но тази стойност дефинира продължителността, през която да се изчака всеки отговор.
  8. Wait_for_completion – ако е вярно, заявката се блокира до изход от операцията. По подразбиране е false.

Отговор

Ако е успешна, заявката ще върне подробна информация за определената задача или задачи. Ако задачата не бъде намерена, заявката връща код на състоянието 404.

Примерна употреба

Следващият пример показва как да използвате API за управление на задачи, за да покажете информация за всички задачи, изпълнявани в клъстера (всички възли).

къдря -XGET „http://localhost:9200/_tasks“ 'kbn-xsrf: докладване'

Заявката трябва да предоставя информация за задачите в клъстера, както е показано в резултата по-долу:

Пример 2

В следващия пример използваме параметъра nodes, за да ограничим отговора само до задачите, които се изпълняват във възела slave_1

къдря -XGET „http://localhost:9200/_tasks?nodes=slave_1“ 'kbn-xsrf: докладване'

Това трябва да върне задачите в посочения възел, както е показано в резултата по-долу:

'задачи' : {
'Fit416fGR1GJefJxOxLurw:1651265' : {
'възел' : 'роб_1' ,
'документ за самоличност' : 1651265 ,
'Тип' : 'транспорт' ,
'действие' : 'indexes:monitor/fleet/global_checkpoints' ,
'начален_час_в_милиси' : 1664214054489 ,
'време_за_работа_в_нано' : 94450056094 ,
'отменим' : невярно,
'заглавия' : {
'X-еластичен-продукт-произход' : 'флота'
}
}

Пример 3

В пример 3 използваме API за управление на задачи, за да покажем информация за задачата с посочения идентификатор:

къдря -XGET „http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310“ 'kbn-xsrf: докладване'

Информацията за изходната задача е както е показано:

Пример 4

За да покажете подробна информация за задачата, добавете подробния параметър към заявката, както е показано:
[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
Това трябва да предостави допълнителна информация за задачите:

Заключение

Тази публикация е проучена как да използвате API за управление на задачи в Elasticsearch. Този API ни позволява да извличаме информация за изпълняваните в момента задачи в клъстера.

Наздраве!! и ще те хвана в следващия.