获取汇总作业 API
编辑获取汇总作业 API编辑
已在 8.11.0 中弃用。
汇总将在未来版本中移除。请改用降采样。
检索汇总作业的配置、统计信息和状态。
请求编辑
GET _rollup/job/<job_id>
先决条件编辑
- 如果启用了 Elasticsearch 安全功能,则您必须具有
monitor
、monitor_rollup
、manage
或manage_rollup
集群权限才能使用此 API。有关更多信息,请参阅安全权限。
描述编辑
该 API 可以返回单个汇总作业或所有汇总作业的详细信息。
此 API 仅返回活动的(STARTED
和 STOPPED
)作业。如果创建了一个作业,运行了一段时间后被删除,则此 API 不会返回有关该作业的任何详细信息。
有关历史汇总作业的详细信息,汇总功能 API 可能更有用。
路径参数编辑
-
<job_id>
- (可选,字符串)汇总作业的标识符。如果它是
_all
或省略,则 API 将返回所有汇总作业。
响应正文编辑
-
jobs
-
(数组)汇总作业资源数组。
汇总作业资源的属性
-
config
- (对象)包含汇总作业的配置。此信息与通过创建作业 API创建作业时提供的配置相同。
-
stats
- (对象)包含有关汇总作业的瞬态统计信息,例如已处理的文档数和已索引的汇总摘要文档数。这些统计信息不会持久化。如果节点重新启动,则这些统计信息将重置。
-
status
-
(对象)包含汇总作业的索引器的当前状态。可能的值及其含义为
-
stopped
表示索引器已暂停,即使其 cron 间隔触发,也不会处理数据。 -
started
表示索引器正在运行,但未主动索引数据。当 cron 间隔触发时,作业的索引器将开始处理数据。 -
indexing
表示索引器正在主动处理数据并创建新的汇总文档。处于此状态时,任何后续的 cron 间隔触发都将被忽略,因为作业已由先前的触发器激活。 -
abort
是一个瞬态状态,用户通常不会看到。如果由于某种原因需要关闭任务(作业已删除、遇到不可恢复的错误等),则使用它。在设置abort
状态后不久,作业将从集群中删除自身。
-
-
示例编辑
如果我们已经创建了一个名为 sensor
的汇总作业,则可以使用以下命令检索有关该作业的详细信息
response = client.rollup.get_jobs( id: 'sensor' ) puts response
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" }, "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" }, "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" }, "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 } } ] }