API получения данных о заданиях Rollup
Получает конфигурацию, статистику и статус заданий Rollup.
Эта функциональность находится в техническом превью и может быть изменена или удалена в будущих версиях. Elastic будет работать над устранением проблем, но функции в техническом превью не подпадают под SLA поддержки официальных функций GA.
Запрос
GET _rollup/job/<job_id>
Предварительные условия
- Если функции безопасности Elasticsearch включены, для использования этого API у вас должны быть
monitor,monitor_rollup,manageилиmanage_rollupправа кластера. Дополнительную информацию см. в разделе Права доступа.
Описание
API может возвращать данные для одного задания Rollup или для всех заданий Rollup.
Данный API возвращает только активные (как STARTED, так и STOPPED) задания. Если задание было создано, работало некоторое время, а затем удалено, этот API не возвращает никаких данных о данном задании.
Для получения данных о историческом задании Rollup API получения возможностей Rollup (API получения возможностей заданий Rollup) может быть более полезным.
Параметры пути
-
<job_id> - (Необязательно, строка) Идентификатор задания Rollup. Если он
_allили опущен, API возвращает все задания Rollup.
Тело ответа
-
jobs -
(массив) Массив ресурсов заданий Rollup.
Свойства ресурсов заданий Rollup
-
config - (объект) Содержит конфигурацию для задания Rollup. Эта информация идентична конфигурации, которая была предоставлена при создании задания с помощью API создания заданий.
-
stats - (объект) Содержит временную статистику о задании Rollup, например, количество обработанных документов и количество индексированных документов сводки Rollup. Эта статистика не сохраняется. Если узел перезапускается, эта статистика сбрасывается.
-
status -
(объект) Содержит текущий статус индексатора для задания Rollup. Возможные значения и их значения:
-
stoppedозначает, что индексатор приостановлен и не будет обрабатывать данные, даже если его интервал cron сработает. -
startedозначает, что индексатор работает, но не активно индексирует данные. Когда срабатывает интервал cron, индексатор задания начнёт обрабатывать данные. -
indexingозначает, что индексатор активно обрабатывает данные и создаёт новые документы Rollup. Когда он находится в этом состоянии, любые последующие срабатывания интервала cron будут проигнорированы, потому что задание уже активно с предыдущим срабатыванием. -
abort— временное состояние, которое обычно не наблюдается пользователем. Оно используется, если задачу нужно остановить по какой-либо причине (задание было удалено, была обнаружена невосстановимая ошибка и т. д.). Вскоре после того, как будет установлено состояниеabort, задание удалит себя из кластера.
-
-
Примеры
Если мы уже создали задание Rollup под названием sensor, данные о задании можно получить следующим образом:
GET _rollup/job/sensor
API возвращает следующий ответ:
{
"jobs": [
{
"config": {
"id": "sensor",
"index_pattern": "sensor-*",
"rollup_index": "sensor_rollup",
"cron": "*/30 * * * * ?",
"groups": {
"date_histogram": {
"fixed_interval": "1h",
"delay": "7d",
"field": "timestamp",
"time_zone": "UTC"
},
"terms": {
"fields": [
"node"
]
}
},
"metrics": [
{
"field": "temperature",
"metrics": [
"min",
"max",
"sum"
]
},
{
"field": "voltage",
"metrics": [
"avg"
]
}
],
"timeout": "20s",
"page_size": 1000
},
"status": {
"job_state": "stopped",
"upgraded_doc_id": true
},
"stats": {
"pages_processed": 0,
"documents_processed": 0,
"rollups_indexed": 0,
"trigger_count": 0,
"index_failures": 0,
"index_time_in_ms": 0,
"index_total": 0,
"search_failures": 0,
"search_time_in_ms": 0,
"search_total": 0,
"processing_time_in_ms": 0,
"processing_total": 0
}
}
]
} Массив jobs содержит одно задание (id: sensor), поскольку мы запросили одно задание в URL конечной точки. Если мы добавим ещё одно задание, мы можем увидеть, как обрабатываются ответы с несколькими заданиями:
PUT _rollup/job/sensor2
{
"index_pattern": "sensor-*",
"rollup_index": "sensor_rollup",
"cron": "*/30 * * * * ?",
"page_size": 1000,
"groups": {
"date_histogram": {
"field": "timestamp",
"fixed_interval": "1h",
"delay": "7d"
},
"terms": {
"fields": [ "node" ]
}
},
"metrics": [
{
"field": "temperature",
"metrics": [ "min", "max", "sum" ]
},
{
"field": "voltage",
"metrics": [ "avg" ]
}
]
}
GET _rollup/job/_all | Создаём второе задание с именем | |
| Затем запрашиваем все задания, используя |
Что даст следующий ответ:
{
"jobs": [
{
"config": {
"id": "sensor2",
"index_pattern": "sensor-*",
"rollup_index": "sensor_rollup",
"cron": "*/30 * * * * ?",
"groups": {
"date_histogram": {
"fixed_interval": "1h",
"delay": "7d",
"field": "timestamp",
"time_zone": "UTC"
},
"terms": {
"fields": [
"node"
]
}
},
"metrics": [
{
"field": "temperature",
"metrics": [
"min",
"max",
"sum"
]
},
{
"field": "voltage",
"metrics": [
"avg"
]
}
],
"timeout": "20s",
"page_size": 1000
},
"status": {
"job_state": "stopped",
"upgraded_doc_id": true
},
"stats": {
"pages_processed": 0,
"documents_processed": 0,
"rollups_indexed": 0,
"trigger_count": 0,
"index_failures": 0,
"index_time_in_ms": 0,
"index_total": 0,
"search_failures": 0,
"search_time_in_ms": 0,
"search_total": 0,
"processing_time_in_ms": 0,
"processing_total": 0
}
},
{
"config": {
"id": "sensor",
"index_pattern": "sensor-*",
"rollup_index": "sensor_rollup",
"cron": "*/30 * * * * ?",
"groups": {
"date_histogram": {
"fixed_interval": "1h",
"delay": "7d",
"field": "timestamp",
"time_zone": "UTC"
},
"terms": {
"fields": [
"node"
]
}
},
"metrics": [
{
"field": "temperature",
"metrics": [
"min",
"max",
"sum"
]
},
{
"field": "voltage",
"metrics": [
"avg"
]
}
],
"timeout": "20s",
"page_size": 1000
},
"status": {
"job_state": "stopped",
"upgraded_doc_id": true
},
"stats": {
"pages_processed": 0,
"documents_processed": 0,
"rollups_indexed": 0,
"trigger_count": 0,
"index_failures": 0,
"index_time_in_ms": 0,
"index_total": 0,
"search_failures": 0,
"search_time_in_ms": 0,
"search_total": 0,
"processing_time_in_ms": 0,
"processing_total": 0
}
}
]
}
© 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/rollup-get-job.html