Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Watcher API

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

Новая справочная информация по API

Для получения самых последних данных об API обратитесь к Watcher API.

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

Запрос

GET _watcher/stats

GET _watcher/stats/<metric>

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

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

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

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

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

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

Тело ответа

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

current_watches

(список) Метрика текущих выполняемых наблюдений предоставляет информацию о наблюдениях, которые в настоящее время выполняются Watcher. Дополнительная информация предоставляется для каждого текущего выполняемого наблюдения. Эта информация включает 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 регулирует выполнение наблюдений таким образом, чтобы их выполнение не создавало слишком большой нагрузки на узел и его ресурсы. Если слишком много наблюдений срабатывают одновременно, а для их выполнения недостаточно ресурсов, некоторые наблюдения ставятся в очередь, ожидая завершения выполнения текущих наблюдений. Метрика очереди наблюдений предоставляет информацию об этих наблюдениях в очереди.

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

Примеры

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

resp = client.watcher.stats()
print(resp)
response = client.watcher.stats
puts response
const response = await client.watcher.stats();
console.log(response);
GET _watcher/stats

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

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

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

Количество зарегистрированных наблюдений.

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

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

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

resp = client.watcher.stats(
    metric="current_watches",
)
print(resp)
response = client.watcher.stats(
  metric: 'current_watches'
)
puts response
const response = await client.watcher.stats({
  metric: "current_watches",
});
console.log(response);
GET _watcher/stats?metric=current_watches

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

resp = client.watcher.stats(
    metric="current_watches",
)
print(resp)
response = client.watcher.stats(
  metric: 'current_watches'
)
puts response
const response = await client.watcher.stats({
  metric: "current_watches",
});
console.log(response);
GET _watcher/stats/current_watches

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

{
   "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" 
      }
   ]
}

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

Идентификатор выполняемого наблюдения.

Идентификатор записи наблюдения.

Время срабатывания наблюдения механизмом срабатывания.

Время выполнения наблюдения. Это происходит сразу перед выполнением ввода.

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

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

resp = client.watcher.stats(
    metric="queued_watches",
)
print(resp)
response = client.watcher.stats(
  metric: 'queued_watches'
)
puts response
const response = await client.watcher.stats({
  metric: "queued_watches",
});
console.log(response);
GET _watcher/stats/queued_watches

Пример успешного JSON-ответа, захватывающего выполняемое наблюдение:

{
   "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" 
         },
      ...
   ]
}

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

Идентификатор наблюдения, поставленного в очередь для выполнения.

Идентификатор записи наблюдения.

Время срабатывания наблюдения механизмом срабатывания.

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

© 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/8.17/watcher-api-stats.html

Spec-Zone.ru

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