获取转换统计信息 API
检索转换的使用信息。
GET _transform/<transform_id>/_stats
GET _transform/<transform_id>,<transform_id>/_stats
GET _transform/_stats
GET _transform/_all/_stats
GET _transform/*/_stats
前置条件
需要以下权限:
- 集群:
monitor_transform(内置角色transform_user授予此权限)。 - 目标索引:
read、view_index_metadata。
描述
你可以使用逗号分隔的标识符列表或通配符表达式,在单个 API 请求中获取多个转换的统计信息。可以使用 _all、将 <transform_id> 指定为 * 或省略 <transform_id> 来获取所有转换的统计信息。
路径参数
<transform_id>
(可选,字符串)转换的标识符。可以是转换标识符或通配符表达式。如果未指定,此 API 将返回所有转换的统计信息。
查询参数
allow_no_match
(可选,布尔值)指定当请求出现以下情况时的处理方式:包含通配符表达式但没有匹配的转换;包含 _all 或未指定标识符且没有匹配项;或包含只有部分匹配的通配符表达式。默认为 true — 当没有匹配项时返回空的 transforms 数组,对于部分匹配则返回结果的子集。如果为 false,则当没有匹配项或只有部分匹配时返回 404 状态码。
from
(可选,整数)默认为 0。跳过指定数量的转换。
size
(可选,整数)默认为 100。要获取的转换的最大数量。
响应体
此 API 返回一个转换统计信息对象数组,按 id 升序排序。所有属性仅供参考;你无法更新它们的值。顶层字段为 count(结果数量)和 transforms(统计信息对象数组)。
checkpointing
(对象)关于检查点的统计信息,包含:
changes_last_detected_at:在源索引中最后一次检测到更改的时间戳。last:关于最后一个已完成检查点的统计信息:checkpoint:检查点的序号。time_upper_bound_millis:使用基于时间的同步时,检查点所包含数据的上限。timestamp_millis:检查点的时间戳(即它被创建的时间)。
next:关于当前正在进行中的下一个检查点的统计信息。仅在转换状态为indexing时出现:checkpoint:检查点的序号。checkpoint_progress:进度统计信息,例如total_docs、docs_remaining、percent_complete、docs_processed、docs_indexed。仅对批量转换以及持续转换的第一个检查点可用。time_upper_bound_millis:检查点所包含数据的上限(基于时间的同步)。timestamp_millis:检查点被创建的时间。
operations_behind:在源索引上发生但尚未应用到目标索引的操作数量。数值较高可能表示转换未能跟上数据变化。
health
(对象)此转换的健康状况指示器,包含:
status:green(健康)、unknown(无法确定)、yellow(已降级,可能需要修复以避免变为红色)、red(中断或不可用)。issues(可选,数组):如果状态不健康,则为问题列表:issue:问题的描述。details(可选,字符串):有关该问题的详细信息。count:自问题开始以来发生的次数。first_occurrence(可选,日期):首次发生的时间戳。
id
转换的标识符。
node
(对象)仅对已启动的转换有效,为该转换所启动的节点:
attributes:节点属性列表。ephemeral_id:节点临时 ID。id:唯一的节点标识符,例如"0-o0tOoRTwKFZifatTWKNw"。name:节点名称。transport_address:用于传输 HTTP 连接的主机和端口,例如127.0.0.1:9300。
reason
如果转换处于失败状态,则为有关失败原因的详细信息。
state
转换的状态:
aborting:转换正在中止。failed:转换失败(参见reason字段)。indexing:正在积极处理数据并创建新文档。started:正在运行但未主动索引数据。stopped:已停止。stopping:正在停止。
stats
(对象)统计信息:
delete_time_in_ms:删除所花费的时间(以毫秒为单位)。documents_deleted:由于保留策略而从目标索引中删除的文档数。documents_indexed:索引到目标索引中的文档数。documents_processed:从源索引处理的文档数。exponential_avg_checkpoint_duration_ms:检查点持续时间的指数移动平均值(以毫秒为单位)。exponential_avg_documents_indexed:已索引文档数的指数移动平均值。exponential_avg_documents_processed:已处理文档数的指数移动平均值。index_failures:索引失败的次数。index_time_in_ms:索引所花费的时间(以毫秒为单位)。index_total:索引操作的次数。pages_processed:已处理的搜索或批量索引操作的次数(文档是分批处理的)。processing_time_in_ms:处理结果所花费的时间(以毫秒为单位)。processing_total:处理操作的次数。search_failures:搜索失败的次数。search_time_in_ms:搜索所花费的时间(以毫秒为单位)。search_total:对源索引的搜索操作次数。trigger_count:转换被调度器触发的次数(例如,按frequency属性设置的时间间隔检查更新或摄取新数据)。
响应码
404(缺少资源)— 如果allow_no_match为false,表示没有与请求匹配的资源或只有部分匹配。
示例
以下示例跳过前 5 个转换,最多获取 10 个结果:
GET _transform/_stats?from=5&size=10
以下示例获取特定转换的统计信息:
GET _transform/ecommerce-customer-transform/_stats
API 返回以下响应:
{
"count": 1,
"transforms": [
{
"id": "ecommerce-customer-transform",
"state": "started",
"node": {
"id": "cpTIGMsVQ8Gqwqlxxxxxxx",
"name": "my.home",
"ephemeral_id": "5-L21nFsQxxxxxxxxxx-xx",
"transport_address": "127.0.0.1:9300",
"attributes": {}
},
"stats": {
"pages_processed": 78,
"documents_processed": 6027,
"documents_indexed": 68,
"documents_deleted": 22,
"delete_time_in_ms": 214,
"trigger_count": 168,
"index_time_in_ms": 412,
"index_total": 20,
"index_failures": 0,
"search_time_in_ms": 353,
"search_total": 78,
"search_failures": 0,
"processing_time_in_ms": 8,
"processing_total": 78,
"exponential_avg_checkpoint_duration_ms": 97.30637923893185,
"exponential_avg_documents_indexed": 2.2064915040974062,
"exponential_avg_documents_processed": 179.89419945785045
},
"checkpointing": {
"last": {
"checkpoint": 20,
"timestamp_millis": 1585344558220,
"time_upper_bound_millis": 1585344498220
},
"changes_last_detected_at": 1585344558219
},
"health": {
"status": "green"
}
}
]
}