API получения статистики Watcher
Получает текущие метрики 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, которое может быть | |
| Количество зарегистрированных наблюдений. | |
| Количество наблюдений, которые были активированы и в настоящее время находятся в очереди для выполнения. | |
| Максимальный размер пула потоков выполнения, который указывает максимальное количество одновременно выполняемых наблюдений. |
Следующий пример задает параметр 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. Если наблюдения не выполняются, возвращается пустой массив. Захваченные наблюдения сортируются по времени выполнения в порядке убывания. Таким образом, самое долгое выполняемое наблюдение всегда находится вверху. | |
| Идентификатор выполняемого наблюдения. | |
| Идентификатор записи наблюдения. | |
| Время срабатывания наблюдения механизмом срабатывания. | |
| Время выполнения наблюдения. Это происходит сразу перед выполнением ввода. | |
| Текущая фаза выполнения наблюдения. Может быть |
Следующий пример указывает метрику 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