Управление задачами — важный фактор для любого администратора, и при работе со сложной системой, такой как Elasticsearch, вам потребуется выполнять некоторый мониторинг задач».
Давайте рассмотрим, что влечет за собой этот API и как он может помочь вам как системному администратору.
ПРИМЕЧАНИЕ. В зависимости от конфигурации вашего кластера и настроек безопасности для этого API могут потребоваться права мониторинга.
Синтаксис запроса
Ниже показан синтаксис для отправки запроса в API управления задачами.
ПОЛУЧИТЬ / _задачи /< идентификатор_задачи >
ПОЛУЧИТЬ / _задачи
После запроса API команда должна вернуть подробную информацию о текущих задачах или задаче с указанным идентификатором.
Параметры пути запроса
Запрос поддерживает один параметр пути:
-
— уникальное значение идентификатора задачи, информацию о которой вы хотите получить. Идентификатор задачи соответствует шаблону node_id:task_number.
Запрос параметров запроса
Чтобы настроить поведение и формат возврата запроса, вы можете указать следующие параметры:
- Действия — это определяет набор действий, используемых для ограничения запроса. Здесь вы можете определить действия в виде списка значений, разделенных запятыми.
- Detailed — это логический параметр, который определяет, показывает ли запрос подробную информацию о восстановлении сегментов или нет. Этот параметр по умолчанию имеет значение false
- Group_by — задает ключи, по которым группируются задачи из ответа. Допустимые значения включают:
- Узлы – идентификатор узла.
- Parents – идентификатор родителя.
- Узел – не группировать.
- Node_id — определяет узел или список узлов, из которых нужно получить информацию.
- parent_task_id — определяет идентификатор родителя, используемый для фильтрации информации ответа. Чтобы показать все задачи, укажите для parent_task_id значение -1.
- master_timeout — указывает продолжительность, в течение которой запрос ожидает подключения к мастер-узлу. Если запрос не получает ответа от мастера по истечении времени master_timeout, он терпит неудачу и возвращает ошибку. Продолжительность по умолчанию установлена на 30 секунд.
- Timeout — аналогично master_timeout, но это значение определяет продолжительность ожидания любого ответа.
- Wait_for_completion — если true, запрос блокируется до завершения операции. По умолчанию ложно.
Ответ
В случае успеха запрос вернет подробную информацию об указанной задаче или задачах. Если задача не найдена, запрос возвращает код статуса 404.
Пример использования
В следующем примере показано, как использовать API управления задачами для отображения информации обо всех задачах, запущенных в кластере (всех узлах).
завиток -XGET «http://localhost:9200/_tasks» -ЧАС 'kbn-xsrf: отчетность'Запрос должен предоставить информацию о задачах в кластере, как показано в выходных данных ниже:
Пример 2
В следующем примере мы используем параметр узлов, чтобы ограничить ответ только задачами, которые выполняются на узле slave_1.
завиток -XGET «http://localhost:9200/_tasks?nodes=slave_1» -ЧАС 'kbn-xsrf: отчетность'Это должно вернуть задачи в указанном узле, как показано в выводе ниже:
'задачи' : {'Fit416fGR1GJefJxOxLurw: 1651265' : {
'узел' : 'раб_1' ,
'я бы' : 1651265 ,
'тип' : 'транспорт' ,
'действие' : 'индексы:монитор/парк/глобальные_контрольные точки' ,
'start_time_in_millis' : 1664214054489 ,
'running_time_in_nanos' : 94450056094 ,
'отменяемый' : ЛОЖЬ,
'заголовки' : {
'X-эластичный-продукт-происхождение' : 'флот'
}
}
Пример 3
В примере 3 мы используем API управления задачами, чтобы показать информацию о задаче с указанным идентификатором:
завиток -XGET «http://localhost:9200/_tasks/Fit416fGR1GJefJxOxLurw:1656310» -ЧАС 'kbn-xsrf: отчетность'Информация о задаче вывода выглядит следующим образом:
Пример 4
Чтобы отобразить подробную информацию о задаче, добавьте в запрос подробный параметр, как показано ниже:
[cc lang=”apache” width=”100%” height=”100%” escape=”true” theme=”blackboard” nowrap=”0″]
завиток -XGET «http://localhost:9200/_tasks?detailed=true” -H “kbn-xsrf: reporting”
[/с]с
Это должно предоставить дополнительную информацию о задачах:
Вывод
Этот пост исследовал как использовать API управления задачами в Elasticsearch. Этот API позволяет нам получать информацию о текущих задачах в кластере.
Ваше здоровье!! & Я поймаю вас в следующем.