此 API 用于获取 Easysearch 集群中数据流(Data Stream)的详细信息。可以查询所有数据流,也可以通过名称过滤获取特定数据流。
API #
GET /_data_stream
API 的作用 #
获取数据流的元数据信息,包括:
- 数据流名称:数据流的唯一标识符
- 时间戳字段配置:数据流使用的时间戳字段名称
- 底层索引列表:构成数据流的所有后备索引
- 生成号:数据流的当前生成版本号
- 健康状态:数据流的整体健康状态(GREEN/YELLOW/RED)
- 关联的索引模板:数据流所使用的索引模板名称
API 的参数 #
查询字符串参数 #
此 API 没有额外的查询字符串参数。所有过滤通过路由参数实现。
路由参数 #
| 参数 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
name | string | 可选 | 数据流的名称,支持以下格式: - 单个名称: logs-nginx- 多个名称(逗号分隔): logs-nginx,logs-redis- 通配符: logs-*如果不提供此参数,返回所有数据流 |
请求示例 #
# 查询所有数据流
GET /_data_stream
# 查询单个数据流
GET /_data_stream/logs-nginx
# 查询多个数据流(逗号分隔)
GET /_data_stream/logs-nginx,logs-redis,logs-apache
# 使用通配符查询
GET /_data_stream/logs-*
# 查询所有数据流(使用通配符)
GET /_data_stream/*
响应示例 #
成功响应 #
{
"data_streams": [
{
"name": "logs-nginx",
"timestamp_field": {
"name": "@timestamp"
},
"indices": [
{
"index_name": ".ds-logs-nginx-000001",
"index_uuid": "xYz123ABC"
},
{
"index_name": ".ds-logs-nginx-000002",
"index_uuid": "aBc456DEF"
}
],
"generation": 2,
"status": "GREEN",
"template": "logs-template-nginx"
},
{
"name": "metrics-system",
"timestamp_field": {
"name": "@timestamp"
},
"indices": [
{
"index_name": ".ds-metrics-system-000001",
"index_uuid": "GhI789JKL"
}
],
"generation": 1,
"status": "YELLOW",
"template": "metrics-template"
}
]
}
响应字段说明 #
| 字段 | 类型 | 描述 |
|---|---|---|
data_streams | array | 数据流列表 |
name | string | 数据流名称 |
timestamp_field.name | string | 时间戳字段名称(通常是 @timestamp) |
indices | array | 构成数据流的后备索引列表 |
indices.index_name | string | 后备索引名称 |
indices.index_uuid | string | 后备索引的唯一标识符 |
generation | integer | 数据流的当前生成号,每次滚动会递增 |
status | string | 健康状态:GREEN(正常)、YELLOW(警告)、RED(错误) |
template | string | 数据流使用的索引模板名称 |
空结果响应 #
当集群中没有数据流时:
{
"data_streams": []
}
使用场景 #
- 监控数据流状态:定期检查所有数据流的健康状态
- 数据流管理:在执行删除或其他操作前,先查询数据流信息
- 问题排查:查看数据流的底层索引和生成信息
- 资源盘点:了解集群中有哪些数据流及其配置
注意事项 #
- 此 API 只支持 GET 方法,不支持 POST
- 不支持分页,所有数据流信息会在一次响应中返回
- 通配符查询
*与不提供name参数效果相同 - 数据流名称区分大小写





