---
title: "查询数据流统计信息"
date: 2026-01-03
lastmod: 2026-01-03
description: "介绍如何在 Easysearch 中查询数据流的统计信息,包括存储大小、索引数量等。"
tags: ["数据流", "统计信息", "索引管理"]
summary: "此 API 用于获取 Easysearch 集群中数据流(Data Stream)的统计信息,包括数据流数量、后备索引数量、存储大小等关键指标。
API # GET /_data_stream/_stats GET /_data_stream/{name}/_stats API 的作用 # 获取数据流的统计信息,用于监控和管理数据流的使用情况。返回的信息包括:
data_stream_count:数据流的总数量 backing_indices:后备索引的总数量 total_store_size:总存储大小 data_streams:每个数据流的详细信息 数据流名称 后备索引数量 存储大小 最大时间戳 API 的参数 # 路由参数 # 参数 类型 是否必需 描述 name string 可选 数据流的名称
支持:
- 单个名称:logs-nginx
- 多个名称(逗号分隔):logs-nginx,logs-redis
- 通配符:logs-*
- _all 或空值:所有数据流 查询字符串参数 # 参数 类型 是否必需 默认值 描述 forbid_closed_indices boolean 可选 true 是否禁止访问已关闭的索引"
---
此 API 用于获取 Easysearch 集群中数据流(Data Stream)的统计信息,包括数据流数量、后备索引数量、存储大小等关键指标。
## API
```
GET /_data_stream/_stats
GET /_data_stream/{name}/_stats
```
## API 的作用
获取数据流的统计信息,用于监控和管理数据流的使用情况。返回的信息包括:
- **data_stream_count**:数据流的总数量
- **backing_indices**:后备索引的总数量
- **total_store_size**:总存储大小
- **data_streams**:每个数据流的详细信息
- 数据流名称
- 后备索引数量
- 存储大小
- 最大时间戳
## API 的参数
### 路由参数
| 参数 | 类型 | 是否必需 | 描述 |
|------|------|----------|------|
| `name` | string | 可选 | 数据流的名称
支持:
- 单个名称:`logs-nginx`
- 多个名称(逗号分隔):`logs-nginx,logs-redis`
- 通配符:`logs-*`
- `_all` 或空值:所有数据流 |
### 查询字符串参数
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|------|------|----------|--------|------|
| `forbid_closed_indices` | boolean | 可选 | `true` | 是否禁止访问已关闭的索引
`true`:禁止访问已关闭的索引
`false`:允许访问已关闭的索引 |
| `expand_wildcards` | string | 可选 | `open` | 控制通配符表达式如何展开为实际的索引
`open`:只展开开放状态的索引
`closed`:展开已关闭的索引
`hidden`:展开隐藏的索引
`none`:不展开任何索引
`all`:展开所有状态的索引
可使用逗号分隔多个值 |
| `ignore_unavailable` | boolean | 可选 | `false` | 是否忽略不可用的索引
`true`:忽略不可用的索引
`false`:遇到不可用的索引会抛出异常 |
| `allow_no_indices` | boolean | 可选 | `true` | 是否允许没有匹配索引的情况
`true`:没有匹配时返回空结果
`false`:没有匹配时抛出异常 |
| `ignore_throttled` | boolean | 可选 | `false` | 是否忽略被限制的索引
`true`:忽略被限制的索引
`false`:包含被限制的索引 |
## 请求示例
```bash
# 查询所有数据流的统计信息
GET /_data_stream/_stats
# 查询指定数据流的统计信息
GET /_data_stream/logs-nginx/_stats
# 查询多个数据流的统计信息(逗号分隔)
GET /_data_stream/logs-nginx,logs-redis/_stats
# 使用通配符查询
GET /_data_stream/logs-*/_stats
# 允许访问已关闭的索引
GET /_data_stream/_stats?forbid_closed_indices=false
# 展开所有状态的索引(包括已关闭和隐藏)
GET /_data_stream/_stats?expand_wildcards=all
# 忽略不可用的索引
GET /_data_stream/_stats?ignore_unavailable=true
```
## 响应示例
### 成功响应 - 所有数据流
```json
{
"data_stream_count": 3,
"backing_indices": 7,
"total_store_size": "5.2gb",
"data_streams": [
{
"data_stream": "logs-nginx",
"backing_indices": 3,
"store_size": "2.1gb",
"maximum_timestamp": 1707033600000
},
{
"data_stream": "logs-redis",
"backing_indices": 2,
"store_size": "1.5gb",
"maximum_timestamp": 1707033600000
},
{
"data_stream": "metrics-system",
"backing_indices": 2,
"store_size": "1.6gb",
"maximum_timestamp": 1707033600000
}
]
}
```
### 响应字段说明
| 字段 | 类型 | 描述 |
|------|------|------|
| `data_stream_count` | integer | 数据流的总数量 |
| `backing_indices` | integer | 所有数据流的后备索引总数量 |
| `total_store_size` | string | 所有后备索引的总存储大小(格式化字符串) |
| `data_streams` | array | 每个数据流的详细统计信息 |
| `data_streams.data_stream` | string | 数据流名称 |
| `data_streams.backing_indices` | integer | 该数据流的后备索引数量 |
| `data_streams.store_size` | string | 该数据流的存储大小 |
| `data_streams.maximum_timestamp` | long | 该数据流中的最大时间戳(毫秒) |
### 空结果响应
当没有数据流或没有匹配的数据流时:
```json
{
"data_stream_count": 0,
"backing_indices": 0,
"total_store_size": "0b",
"data_streams": []
}
```
## 使用场景
1. **容量规划**:监控数据流的存储使用情况,规划存储容量
2. **性能监控**:跟踪后备索引数量,评估数据流配置
3. **资源审计**:定期检查数据流的状态和大小
4. **问题排查**:诊断数据流相关的性能或存储问题
## 与相关 API 的区别
| API | 功能 |
|-----|------|
| `GET /_data_stream` | 查询数据流的元数据信息(名称、状态、模板等) |
| `GET /_data_stream/_stats` | 查询数据流的统计信息(存储大小、索引数量等) |
| `GET /_cat/indices` | 查询所有索引的信息,包括后备索引 |
## 注意事项
1. 此 API 只支持 GET 方法
2. `forbid_closed_indices` 默认为 `true`,已关闭的索引默认不被计入统计
3. 通配符 `*` 和不提供 `name` 参数效果相同
4. 存储大小是格式化后的字符串(如 "5.2gb"),便于人类阅读
## 相关文档
- [创建数据流](./create-data-stream.md)
- [查询所有数据流](./get-all-data-streams.md)
- [查询指定数据流](./get-specific-data-stream.md)
- [删除数据流](./delete-data-stream.md)