Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›Watcher API

API получения статистики Watcher

Получает текущие метрики Watcher.

Запрос

GET _watcher/stats

GET _watcher/stats/<metric>

Предварительные условия

  • Для использования этого API необходимо обладать правами manage_watcher или monitor_watcher на кластере. Дополнительную информацию можно найти в разделе Права доступа.

Параметры пути

emit_stacktraces
(Необязательно, Булево) Определяет, будут ли создаваться стеки вызовов для каждой выполняющейся watch. Значение по умолчанию - false.
<metric>

(Необязательно, перечисление) Определяет, какие дополнительные метрики включить в ответ.

current_watches
Включает в ответ текущие выполняемые watch.
queued_watches
Включает в ответ watch, ожидающие выполнения.
_all
Включает все метрики в ответ.

Тело ответа

Этот API всегда возвращает базовые метрики. Более подробные метрики можно получить, используя параметр metric.

current_watches

(список) Метрика текущих выполняемых watch предоставляет информацию о watch, которые в данный момент выполняются Watcher. Дополнительная информация предоставляется для каждой текущей watch. Эта информация включает в себя watch_id, время начала выполнения и текущую фазу выполнения.

To include this metric, the `metric` option should be set to `current_watches`
or `_all`. In addition you can also specify the `emit_stacktraces=true`
parameter, which adds stack traces for each watch that is being executed. These
stack traces can give you more insight into an execution of a watch.
queued_watches

(список) Watcher управляет выполнением watch, чтобы их выполнение не создавало чрезмерной нагрузки на узел и его ресурсы. Если слишком много watch срабатывают одновременно, и нет достаточных ресурсов для их выполнения, некоторые watch помещаются в очередь, ожидая завершения текущих выполняемых watch. Метрика ожидающих watch предоставляет информацию об этих watch в очереди.

To include this metric, the `metric` option should include `queued_watches` or
`_all`.

Примеры

Следующий пример вызывает API stats для получения базовых метрик:

GET _watcher/stats

Успешный вызов возвращает структуру JSON, аналогичную следующему примеру:

{
   "watcher_state": "started",  
   "watch_count": 1, 
   "execution_thread_pool": {
      "size": 1000, 
      "max_size": 1 
   }
}

Текущее состояние Watcher, которое может быть started, starting или stopped.

Количество зарегистрированных watch.

Количество watch, которые сработали и находятся в очереди на выполнение.

Максимальный размер пула потоков выполнения, который указывает максимальное количество одновременно выполняемых watch.

Следующий пример указывает опцию metric в качестве параметра строки запроса и включит базовые метрики и метрики текущих выполняемых watch:

GET _watcher/stats?metric=current_watches

Следующий пример указывает опцию metric в качестве части пути URL:

GET _watcher/stats/current_watches

Следующий фрагмент показывает пример успешного JSON ответа, который захватывает watch в процессе выполнения:

{
   "watcher_state": "started",
   "watch_count": 2,
   "execution_thread_pool": {
      "queue_size": 1000,
      "max_size": 20
   },
   "current_watches": [ 
      {
         "watch_id": "slow_condition", 
         "watch_record_id": "slow_condition_3-2015-05-13T07:42:32.179Z", 
         "triggered_time": "2015-05-12T11:53:51.800Z", 
         "execution_time": "2015-05-13T07:42:32.179Z", 
         "execution_phase": "condition" 
      }
   ]
}

Список всех watch, которые в настоящее время выполняются Watcher. Если watch не выполняются, возвращается пустой массив. Захваченные watch сортируются по времени выполнения в обратном порядке. Таким образом, самая долгая watch всегда находится вверху.

Идентификатор выполняемой watch.

Идентификатор записи watch.

Время срабатывания watch механизмом триггеров.

Время выполнения watch. Это непосредственно перед выполнением ввода.

Текущая фаза выполнения watch. Может быть input, condition actions, awaits_execution, started, watch_transform, aborted, finished.

Следующий пример указывает метрику queued_watches и включает как базовые метрики, так и watch в очереди:

GET _watcher/stats/queued_watches

Пример успешного JSON ответа, который захватывает watch в процессе выполнения:

{
   "watcher_state": "started",
   "watch_count": 10,
   "execution_thread_pool": {
      "queue_size": 1000,
      "max_size": 20
   },
   "queued_watches": [ 
         {
            "watch_id": "slow_condition4", 
            "watch_record_id": "slow_condition4_223-2015-05-21T11:59:59.811Z", 
            "triggered_time": "2015-05-21T11:59:59.811Z", 
            "execution_time": "2015-05-21T11:59:59.811Z" 
         },
      ...
   ]
}

Список всех watch, которые в данный момент находятся в очереди на выполнение. Если watch нет в очереди, возвращается пустой массив.

Идентификатор watch, ожидающей выполнения.

Идентификатор записи watch.

Время срабатывания watch механизмом триггеров.

Время, когда watch перешла в состояние ожидания.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/watcher-api-stats.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API