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, которое может быть | |
| Количество зарегистрированных 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. Может быть |
Следующий пример указывает метрику 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