数据流统计
数据流统计 API 提供有关一个或多个数据流的统计信息。这包括诸如后端索引的数量、存储大小和最大时间戳等信息。此 API 对于监控数据流的存储和索引活动非常有用。
端点
GET /_data_stream/_stats
GET /_data_stream/{name}/_stats
路径参数
下表列出了可用的路径参数。所有路径参数均为可选。
参数 | 数据类型 | 描述 |
---|---|---|
名称 | 列表或字符串 | 一个逗号分隔的数据流列表,用于限制请求。支持通配符表达式 (* )。要针对集群中的所有数据流,请省略此参数或使用 * 。 |
查询参数
下表列出了可用的查询参数。所有查询参数都是可选的。
参数 | 数据类型 | 描述 | 默认值 |
---|---|---|---|
error_trace | 布尔型 | 是否包含返回错误的堆栈跟踪。 | false |
filter_path | 列表或字符串 | 用于精简响应。此参数接受逗号分隔的过滤器列表。它支持使用通配符匹配任何字段或字段名称的一部分。您也可以使用“-”排除字段。 | 不适用 |
human | 布尔型 | 是否为统计数据返回人类可读的值。 | false |
pretty | 布尔型 | 是否美化返回的 JSON 响应格式。 | false |
source | 字符串 | URL 编码的请求定义。对于不接受非 POST 请求的请求体的库非常有用。 | 不适用 |
示例
创建具有匹配模式并启用数据流的索引模板
PUT /_index_template/template-logs-app
{
"index_patterns": ["logs-app*"],
"data_stream": {}
}
创建数据流
PUT /_data_stream/logs-app
索引文档以生成后端索引
POST /logs-app/_doc
{
"@timestamp": "2025-06-23T10:00:00Z",
"message": "app started"
}
检索数据流统计信息
GET /_data_stream/logs-app/_stats?human=true
示例响应
响应包含集群中每个数据流的存储和分片统计信息
{
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"data_stream_count": 1,
"backing_indices": 1,
"total_store_size": "16.8kb",
"total_store_size_bytes": 17304,
"data_streams": [
{
"data_stream": "logs-app",
"backing_indices": 1,
"store_size": "16.8kb",
"store_size_bytes": 17304,
"maximum_timestamp": 1750673100000
}
]
}
响应正文字段
字段 | 数据类型 | 描述 |
_shards.total | 整数 | 请求中涉及的分片总数。 |
_shards.successful | 整数 | 成功获取的分片数量。 |
_shards.failed | 整数 | 失败获取的分片数量。 |
data_stream_count | 整数 | 响应中返回的数据流总数。 |
backing_indices | 整数 | 所有数据流中的后端索引总数。 |
total_store_size | 字符串 | 所有数据流存储的总大小,人类可读。仅当 human=true 时显示。 |
total_store_size_bytes | 整数 | 所有数据流使用的总存储空间(以字节为单位)。 |
数据流 | 数组 | 一个对象列表,每个数据流一个对象。 |
data_streams[n].data_stream | 字符串 | 数据流的名称。 |
data_streams[n].backing_indices | 整数 | 数据流的后端索引数量。 |
data_streams[n].store_size | 字符串 | 数据流使用的存储空间,人类可读。仅当 human=true 时显示。 |
data_streams[n].store_size_bytes | 整数 | 数据流使用的总存储空间(以字节为单位)。 |
data_streams[n].maximum_timestamp | 长整型 | 数据流中所有文档的最大时间戳。 |