CAT 分段复制
2.7 版引入
CAT 段复制操作返回关于每个副本分片上活动和上次完成的段复制事件的信息,包括相关的分片级指标。这些指标提供了副本分片落后主分片多远的信息。
仅在启用了段复制的索引上调用 CAT 段复制 API。
端点
GET /_cat/segment_replication
GET /_cat/segment_replication/{index}
路径参数
下表列出了可用的路径参数。所有路径参数均为可选。
参数 | 数据类型 | 描述 |
---|---|---|
index | 列表 | 一个逗号分隔的数据流、索引和别名列表,用于限制请求。支持通配符(* )。要定位所有数据流和索引,请省略此参数或使用 * 或 _all 。 |
查询参数
下表列出了可用的查询参数。所有查询参数都是可选的。
参数 | 数据类型 | 描述 | 默认值 |
---|---|---|---|
active_only | 布尔型 | 当为 true 时,响应只包含正在进行的段复制事件。 | false |
allow_no_indices | 布尔型 | 当通配符索引表达式无法解析为具体索引时(包括 _all 字符串或未指定索引时),是否忽略该索引。 | 不适用 |
bytes(字节) | 字符串 | 用于显示字节值的单位。 有效值包括: b 、kb 、k 、mb 、m 、gb 、g 、tb 、t 、pb 和 p 。 | 不适用 |
completed_only | 布尔型 | 当为 true 时,响应只包含上次完成的段复制事件。 | false |
detailed | 布尔型 | 当为 true 时,响应包含段复制事件每个阶段的额外指标。 | false |
expand_wildcards | 列表或字符串 | 指定通配符表达式可匹配的索引类型。支持逗号分隔的值。 有效值为 - all :匹配任何索引,包括隐藏索引。- closed :匹配已关闭的非隐藏索引。- hidden :匹配隐藏索引。必须与 open、closed 或两者结合使用。- none :不接受通配符表达式。- open :匹配已打开的非隐藏索引。 | 不适用 |
format | 字符串 | Accept 标头的简短版本,例如 json 或 yaml 。 | 不适用 |
h | 列表 | 要显示的列名的逗号分隔列表。 | 不适用 |
help | 布尔型 | 返回帮助信息。 | false |
ignore_throttled | 布尔型 | 当指定的具体、扩展或别名索引被限流时,是否应忽略它们。 | 不适用 |
ignore_unavailable | 布尔型 | 当指定的具体索引缺失或关闭时,是否应忽略它们。 | 不适用 |
index | 列表 | 一个逗号分隔的数据流、索引和别名列表,用于限制请求。支持通配符(* )。要定位所有数据流和索引,请省略此参数或使用 * 或 _all 。 | 不适用 |
s | 列表 | 用于排序的列名或列别名的逗号分隔列表。 | 不适用 |
分片 | 列表 | 逗号分隔的分片列表,用于显示。 | 不适用 |
time | 字符串 | 指定时间单位,例如 5d 或 7h 。更多信息请参阅支持的单位。有效值包括: nanos 、micros 、ms 、s 、m 、h 和 d 。 | 不适用 |
timeout | 字符串 | 操作超时。 | 不适用 |
v | 布尔型 | 启用详细模式,该模式显示列标题。 | false |
路径参数
参数 | 类型 | 描述 |
---|---|---|
index | 字符串 | 索引的名称,或用于过滤结果的逗号分隔索引名称列表或通配符表达式。如果未提供此参数,响应将包含集群中所有索引的信息。 |
查询参数
参数 | 数据类型 | 描述 |
---|---|---|
active_only | 布尔型 | 如果为 true ,响应只包含活动的段复制。默认为 false 。 |
detailed | 字符串 | 如果为 true ,响应包含段复制事件每个阶段的额外指标。默认为 false 。 |
分片 | 字符串 | 逗号分隔的分片列表,用于显示。 |
bytes(字节) | 字节单位 | 用于显示字节大小值的单位。 |
format | 字符串 | HTTP accept 头的缩写版本。有效值包括 JSON 和 YAML 。 |
h | 字符串 | 要显示的列名的逗号分隔列表。 |
help | 布尔型 | 如果为 true ,响应包含帮助信息。默认为 false 。 |
time | 时间单位 | 用于显示时间值的单位。 |
v | 布尔型 | 如果为 true ,响应包含列标题。默认为 false 。 |
s | 字符串 | 指定排序结果。例如,s=shardId:desc 按分片 ID 降序排序。 |
示例请求
以下示例说明了各种段复制响应。
无活动段复制事件
以下查询请求包含所有索引列标题的段复制指标
GET /_cat/segment_replication?v=true
响应包含上述请求的指标
shardId target_node target_host checkpoints_behind bytes_behind current_lag last_completed_lag rejected_requests
[index-1][0] runTask-1 127.0.0.1 0 0b 0s 7ms 0
指定分片 ID
以下查询请求包含来自索引 index1
和 index2
,ID 为 0
的分片的段复制指标,带列标题
GET /_cat/segment_replication/index1,index2?v=true&shards=0
响应包含上述请求的指标。列标题对应于指标名称
shardId target_node target_host checkpoints_behind bytes_behind current_lag last_completed_lag rejected_requests
[index-1][0] runTask-1 127.0.0.1 0 0b 0s 3ms 0
[index-2][0] runTask-1 127.0.0.1 0 0b 0s 5ms 0
详细响应
以下查询请求包含所有索引列标题的详细段复制指标
GET /_cat/segment_replication?v=true&detailed=true
响应包含关于段复制事件的文件和阶段的额外指标
shardId target_node target_host checkpoints_behind bytes_behind current_lag last_completed_lag rejected_requests stage time files_fetched files_percent bytes_fetched bytes_percent start_time stop_time files files_total bytes bytes_total replicating_stage_time_taken get_checkpoint_info_stage_time_taken file_diff_stage_time_taken get_files_stage_time_taken finalize_replication_stage_time_taken
[index-1][0] runTask-1 127.0.0.1 0 0b 0s 3ms 0 done 10ms 6 100.0% 4753 100.0% 2023-03-16T13:46:16.802Z 2023-03-16T13:46:16.812Z 6 6 4.6kb 4.6kb 0s 2ms 0s 3ms 3ms
[index-2][0] runTask-1 127.0.0.1 0 0b 0s 5ms 0 done 7ms 3 100.0% 3664 100.0% 2023-03-16T13:53:33.466Z 2023-03-16T13:53:33.474Z 3 3 3.5kb 3.5kb 0s 1ms 0s 2ms 2ms
排序结果
以下查询请求包含所有索引列标题的段复制指标,按分片 ID 降序排序
GET /_cat/segment_replication?v&s=shardId:desc
响应包含排序后的结果
shardId target_node target_host checkpoints_behind bytes_behind current_lag last_completed_lag rejected_requests
[test6][1] runTask-2 127.0.0.1 0 0b 0s 5ms 0
[test6][0] runTask-2 127.0.0.1 0 0b 0s 4ms 0
使用指标别名
在请求中,您可以使用指标的全名或其别名之一。以下查询与前一个查询相同,但使用别名 s
而不是 shardID
进行排序
GET /_cat/segment_replication?v&s=s:desc
示例响应指标
下表列出了所有请求返回的响应指标。在查询参数中引用指标时,您可以提供指标的全名或其任何别名,如前面的示例所示。
度量 | 别名 | 描述 |
---|---|---|
shardId | s | 特定分片的 ID。 |
target_host | thost | 目标主机 IP 地址。 |
target_node | tnode | 目标节点名称。 |
checkpoints_behind | cpb | 副本分片落后主分片的检查点数量。 |
bytes_behind | bb | 副本分片落后主分片的字节数。 |
current_lag | clag | 等待副本分片赶上主分片所经过的时间。 |
last_completed_lag | lcl | 副本分片赶上最新主分片刷新所花费的时间。 |
rejected_requests | rr | 复制组被拒绝的请求数量。 |
其他详细响应指标
如果 detailed
设置为 true
,则下表列出了返回的其他响应字段。
度量 | 别名 | 描述 |
---|---|---|
stage | st | 段复制事件的当前阶段。 |
time | t , ti | 段复制事件完成所需的时间量,以毫秒为单位。 |
files_fetched | ff | 段复制事件迄今已获取的文件数量。 |
files_percent | fp | 段复制事件迄今已获取的文件百分比。 |
bytes_fetched | bf | 段复制事件迄今已获取的字节数。 |
bytes_percent | bp | 段复制事件迄今已获取的字节数百分比。 |
start_time | start | 段复制开始时间。 |
stop_time | stop | 段复制停止时间。 |
files | f | 段复制事件需要获取的文件数量。 |
files_total | tf | 此恢复中包含的文件总数,包括重用和恢复的文件。 |
bytes(字节) | b | 段复制事件需要获取的字节数。 |
bytes_total | tb | 分片中的总字节数。 |
replicating_stage_time_taken | rstt | 段复制事件的 replicating 阶段完成所需的时间。 |
get_checkpoint_info_stage_time_taken | gcistt | 段复制事件的 get checkpoint info 阶段完成所需的时间。 |
file_diff_stage_time_taken | fdstt | 段复制事件的 file diff 阶段完成所需的时间。 |
get_files_stage_time_taken | gfstt | 段复制事件的 get files 阶段完成所需的时间。 |
finalize_replication_stage_time_taken | frstt | 段复制事件的 finalize replication 阶段完成所需的时间。 |