- Elasticsearch 指南其他版本
- 8.17 中的新功能
- Elasticsearch 基础
- 快速入门
- 设置 Elasticsearch
- 升级 Elasticsearch
- 索引模块
- 映射
- 文本分析
- 索引模板
- 数据流
- 摄取管道
- 别名
- 搜索您的数据
- 重新排名
- 查询 DSL
- 聚合
- 地理空间分析
- 连接器
- EQL
- ES|QL
- SQL
- 脚本
- 数据管理
- 自动缩放
- 监视集群
- 汇总或转换数据
- 设置高可用性集群
- 快照和还原
- 保护 Elastic Stack 的安全
- Watcher
- 命令行工具
- elasticsearch-certgen
- elasticsearch-certutil
- elasticsearch-create-enrollment-token
- elasticsearch-croneval
- elasticsearch-keystore
- elasticsearch-node
- elasticsearch-reconfigure-node
- elasticsearch-reset-password
- elasticsearch-saml-metadata
- elasticsearch-service-tokens
- elasticsearch-setup-passwords
- elasticsearch-shard
- elasticsearch-syskeygen
- elasticsearch-users
- 优化
- 故障排除
- 修复常见的集群问题
- 诊断未分配的分片
- 向系统中添加丢失的层
- 允许 Elasticsearch 在系统中分配数据
- 允许 Elasticsearch 分配索引
- 索引将索引分配过滤器与数据层节点角色混合,以在数据层之间移动
- 没有足够的节点来分配所有分片副本
- 单个节点上索引的分片总数已超过
- 每个节点的分片总数已达到
- 故障排除损坏
- 修复磁盘空间不足的数据节点
- 修复磁盘空间不足的主节点
- 修复磁盘空间不足的其他角色节点
- 启动索引生命周期管理
- 启动快照生命周期管理
- 从快照恢复
- 故障排除损坏的存储库
- 解决重复的快照策略失败问题
- 故障排除不稳定的集群
- 故障排除发现
- 故障排除监控
- 故障排除转换
- 故障排除 Watcher
- 故障排除搜索
- 故障排除分片容量健康问题
- 故障排除不平衡的集群
- 捕获诊断信息
- REST API
- API 约定
- 通用选项
- REST API 兼容性
- 自动缩放 API
- 行为分析 API
- 紧凑和对齐文本 (CAT) API
- 集群 API
- 跨集群复制 API
- 连接器 API
- 数据流 API
- 文档 API
- 丰富 API
- EQL API
- ES|QL API
- 功能 API
- Fleet API
- 图表探索 API
- 索引 API
- 别名是否存在
- 别名
- 分析
- 分析索引磁盘使用量
- 清除缓存
- 克隆索引
- 关闭索引
- 创建索引
- 创建或更新别名
- 创建或更新组件模板
- 创建或更新索引模板
- 创建或更新索引模板(旧版)
- 删除组件模板
- 删除悬挂索引
- 删除别名
- 删除索引
- 删除索引模板
- 删除索引模板(旧版)
- 存在
- 字段使用情况统计信息
- 刷新
- 强制合并
- 获取别名
- 获取组件模板
- 获取字段映射
- 获取索引
- 获取索引设置
- 获取索引模板
- 获取索引模板(旧版)
- 获取映射
- 导入悬挂索引
- 索引恢复
- 索引段
- 索引分片存储
- 索引统计信息
- 索引模板是否存在(旧版)
- 列出悬挂索引
- 打开索引
- 刷新
- 解析索引
- 解析集群
- 翻转
- 收缩索引
- 模拟索引
- 模拟模板
- 拆分索引
- 解冻索引
- 更新索引设置
- 更新映射
- 索引生命周期管理 API
- 推理 API
- 信息 API
- 摄取 API
- 许可 API
- Logstash API
- 机器学习 API
- 机器学习异常检测 API
- 机器学习数据帧分析 API
- 机器学习训练模型 API
- 迁移 API
- 节点生命周期 API
- 查询规则 API
- 重新加载搜索分析器 API
- 存储库计量 API
- 汇总 API
- 根 API
- 脚本 API
- 搜索 API
- 搜索应用程序 API
- 可搜索快照 API
- 安全 API
- 身份验证
- 更改密码
- 清除缓存
- 清除角色缓存
- 清除权限缓存
- 清除 API 密钥缓存
- 清除服务帐户令牌缓存
- 创建 API 密钥
- 创建或更新应用程序权限
- 创建或更新角色映射
- 创建或更新角色
- 批量创建或更新角色 API
- 批量删除角色 API
- 创建或更新用户
- 创建服务帐户令牌
- 委托 PKI 身份验证
- 删除应用程序权限
- 删除角色映射
- 删除角色
- 删除服务帐户令牌
- 删除用户
- 禁用用户
- 启用用户
- 注册 Kibana
- 注册节点
- 获取 API 密钥信息
- 获取应用程序权限
- 获取内置权限
- 获取角色映射
- 获取角色
- 查询角色
- 获取服务帐户
- 获取服务帐户凭据
- 获取安全设置
- 获取令牌
- 获取用户权限
- 获取用户
- 授予 API 密钥
- 具有权限
- 使 API 密钥失效
- 使令牌失效
- OpenID Connect 准备身份验证
- OpenID Connect 身份验证
- OpenID Connect 注销
- 查询 API 密钥信息
- 查询用户
- 更新 API 密钥
- 更新安全设置
- 批量更新 API 密钥
- SAML 准备身份验证
- SAML 身份验证
- SAML 注销
- SAML 失效
- SAML 完成注销
- SAML 服务提供商元数据
- SSL 证书
- 激活用户配置文件
- 禁用用户配置文件
- 启用用户配置文件
- 获取用户配置文件
- 建议用户配置文件
- 更新用户配置文件数据
- 具有用户配置文件权限
- 创建跨集群 API 密钥
- 更新跨集群 API 密钥
- 快照和还原 API
- 快照生命周期管理 API
- SQL API
- 同义词 API
- 文本结构 API
- 转换 API
- 使用情况 API
- Watcher API
- 定义
- 迁移指南
- 发行说明
- Elasticsearch 版本 8.17.0
- Elasticsearch 版本 8.16.1
- Elasticsearch 版本 8.16.0
- Elasticsearch 版本 8.15.5
- Elasticsearch 版本 8.15.4
- Elasticsearch 版本 8.15.3
- Elasticsearch 版本 8.15.2
- Elasticsearch 版本 8.15.1
- Elasticsearch 版本 8.15.0
- Elasticsearch 版本 8.14.3
- Elasticsearch 版本 8.14.2
- Elasticsearch 版本 8.14.1
- Elasticsearch 版本 8.14.0
- Elasticsearch 版本 8.13.4
- Elasticsearch 版本 8.13.3
- Elasticsearch 版本 8.13.2
- Elasticsearch 版本 8.13.1
- Elasticsearch 版本 8.13.0
- Elasticsearch 版本 8.12.2
- Elasticsearch 版本 8.12.1
- Elasticsearch 版本 8.12.0
- Elasticsearch 版本 8.11.4
- Elasticsearch 版本 8.11.3
- Elasticsearch 版本 8.11.2
- Elasticsearch 版本 8.11.1
- Elasticsearch 版本 8.11.0
- Elasticsearch 版本 8.10.4
- Elasticsearch 版本 8.10.3
- Elasticsearch 版本 8.10.2
- Elasticsearch 版本 8.10.1
- Elasticsearch 版本 8.10.0
- Elasticsearch 版本 8.9.2
- Elasticsearch 版本 8.9.1
- Elasticsearch 版本 8.9.0
- Elasticsearch 版本 8.8.2
- Elasticsearch 版本 8.8.1
- Elasticsearch 版本 8.8.0
- Elasticsearch 版本 8.7.1
- Elasticsearch 版本 8.7.0
- Elasticsearch 版本 8.6.2
- Elasticsearch 版本 8.6.1
- Elasticsearch 版本 8.6.0
- Elasticsearch 版本 8.5.3
- Elasticsearch 版本 8.5.2
- Elasticsearch 版本 8.5.1
- Elasticsearch 版本 8.5.0
- Elasticsearch 版本 8.4.3
- Elasticsearch 版本 8.4.2
- Elasticsearch 版本 8.4.1
- Elasticsearch 版本 8.4.0
- Elasticsearch 版本 8.3.3
- Elasticsearch 版本 8.3.2
- Elasticsearch 版本 8.3.1
- Elasticsearch 版本 8.3.0
- Elasticsearch 版本 8.2.3
- Elasticsearch 版本 8.2.2
- Elasticsearch 版本 8.2.1
- Elasticsearch 版本 8.2.0
- Elasticsearch 版本 8.1.3
- Elasticsearch 版本 8.1.2
- Elasticsearch 版本 8.1.1
- Elasticsearch 版本 8.1.0
- Elasticsearch 版本 8.0.1
- Elasticsearch 版本 8.0.0
- Elasticsearch 版本 8.0.0-rc2
- Elasticsearch 版本 8.0.0-rc1
- Elasticsearch 版本 8.0.0-beta1
- Elasticsearch 版本 8.0.0-alpha2
- Elasticsearch 版本 8.0.0-alpha1
- 依赖项和版本
使用数据流生命周期运行降采样
编辑使用数据流生命周期运行降采样
编辑这是一个简化的示例,允许您快速了解降采样如何作为数据流生命周期的一部分工作,以减少采样指标集的存储大小。该示例使用典型的 Kubernetes 集群监控数据。要使用数据流生命周期测试降采样,请按照以下步骤操作
- 检查先决条件。
- 使用数据流生命周期创建索引模板.
- 摄取时间序列数据.
- 查看数据流的当前状态.
- 滚动数据流.
- 查看降采样结果.
先决条件
编辑请参阅时间序列数据流先决条件。
使用数据流生命周期创建索引模板
编辑这将为基本数据流创建一个索引模板。索引模板的可用参数在设置时间序列数据流中有详细描述。
为简单起见,在时间序列映射中,所有time_series_metric
参数都设置为gauge
类型,但也可以使用counter
指标类型。time_series_metric
值确定在降采样期间使用的统计表示类型。
索引模板包含一组静态时间序列维度:host
、namespace
、node
和pod
。时间序列维度不会被降采样过程更改。
要启用降采样,此模板包含带有降采样对象的lifecycle
部分。fixed_interval
参数设置要聚合原始时间序列数据的降采样间隔。after
参数指定在索引滚动后多长时间执行降采样。
const response = await client.indices.putIndexTemplate({ name: "datastream_template", index_patterns: ["datastream*"], data_stream: {}, template: { lifecycle: { downsampling: [ { after: "1m", fixed_interval: "1h", }, ], }, settings: { index: { mode: "time_series", }, }, mappings: { properties: { "@timestamp": { type: "date", }, kubernetes: { properties: { container: { properties: { cpu: { properties: { usage: { properties: { core: { properties: { ns: { type: "long", }, }, }, limit: { properties: { pct: { type: "float", }, }, }, nanocores: { type: "long", time_series_metric: "gauge", }, node: { properties: { pct: { type: "float", }, }, }, }, }, }, }, memory: { properties: { available: { properties: { bytes: { type: "long", time_series_metric: "gauge", }, }, }, majorpagefaults: { type: "long", }, pagefaults: { type: "long", time_series_metric: "gauge", }, rss: { properties: { bytes: { type: "long", time_series_metric: "gauge", }, }, }, usage: { properties: { bytes: { type: "long", time_series_metric: "gauge", }, limit: { properties: { pct: { type: "float", }, }, }, node: { properties: { pct: { type: "float", }, }, }, }, }, workingset: { properties: { bytes: { type: "long", time_series_metric: "gauge", }, }, }, }, }, name: { type: "keyword", }, start_time: { type: "date", }, }, }, host: { type: "keyword", time_series_dimension: true, }, namespace: { type: "keyword", time_series_dimension: true, }, node: { type: "keyword", time_series_dimension: true, }, pod: { type: "keyword", time_series_dimension: true, }, }, }, }, }, }, }); console.log(response);
PUT _index_template/datastream_template { "index_patterns": [ "datastream*" ], "data_stream": {}, "template": { "lifecycle": { "downsampling": [ { "after": "1m", "fixed_interval": "1h" } ] }, "settings": { "index": { "mode": "time_series" } }, "mappings": { "properties": { "@timestamp": { "type": "date" }, "kubernetes": { "properties": { "container": { "properties": { "cpu": { "properties": { "usage": { "properties": { "core": { "properties": { "ns": { "type": "long" } } }, "limit": { "properties": { "pct": { "type": "float" } } }, "nanocores": { "type": "long", "time_series_metric": "gauge" }, "node": { "properties": { "pct": { "type": "float" } } } } } } }, "memory": { "properties": { "available": { "properties": { "bytes": { "type": "long", "time_series_metric": "gauge" } } }, "majorpagefaults": { "type": "long" }, "pagefaults": { "type": "long", "time_series_metric": "gauge" }, "rss": { "properties": { "bytes": { "type": "long", "time_series_metric": "gauge" } } }, "usage": { "properties": { "bytes": { "type": "long", "time_series_metric": "gauge" }, "limit": { "properties": { "pct": { "type": "float" } } }, "node": { "properties": { "pct": { "type": "float" } } } } }, "workingset": { "properties": { "bytes": { "type": "long", "time_series_metric": "gauge" } } } } }, "name": { "type": "keyword" }, "start_time": { "type": "date" } } }, "host": { "type": "keyword", "time_series_dimension": true }, "namespace": { "type": "keyword", "time_series_dimension": true }, "node": { "type": "keyword", "time_series_dimension": true }, "pod": { "type": "keyword", "time_series_dimension": true } } } } } } }
摄取时间序列数据
编辑使用批量 API 请求自动创建您的 TSDS 并索引一组十个文档。
重要提示: 在运行此批量请求之前,您需要将时间戳更新到当前时间后的三到五个小时内。也就是说,搜索2022-06-21T15
并替换为当前日期,并将小时调整为当前时间加上三个小时。
resp = client.bulk( index="datastream", refresh=True, operations=[ { "create": {} }, { "@timestamp": "2022-06-21T15:49:00Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 91153, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 463314616 }, "usage": { "bytes": 307007078, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 585236 }, "rss": { "bytes": 102728 }, "pagefaults": 120901, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:45:50Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 124501, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 982546514 }, "usage": { "bytes": 360035574, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 1339884 }, "rss": { "bytes": 381174 }, "pagefaults": 178473, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:44:50Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 38907, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 862723768 }, "usage": { "bytes": 379572388, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 431227 }, "rss": { "bytes": 386580 }, "pagefaults": 233166, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:44:40Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 86706, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 567160996 }, "usage": { "bytes": 103266017, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 1724908 }, "rss": { "bytes": 105431 }, "pagefaults": 233166, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:44:00Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 150069, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 639054643 }, "usage": { "bytes": 265142477, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 1786511 }, "rss": { "bytes": 189235 }, "pagefaults": 138172, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:42:40Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 82260, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 854735585 }, "usage": { "bytes": 309798052, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 924058 }, "rss": { "bytes": 110838 }, "pagefaults": 259073, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:42:10Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 153404, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 279586406 }, "usage": { "bytes": 214904955, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 1047265 }, "rss": { "bytes": 91914 }, "pagefaults": 302252, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:40:20Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 125613, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 822782853 }, "usage": { "bytes": 100475044, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 2109932 }, "rss": { "bytes": 278446 }, "pagefaults": 74843, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:40:10Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 100046, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 567160996 }, "usage": { "bytes": 362826547, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 1986724 }, "rss": { "bytes": 402801 }, "pagefaults": 296495, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } }, { "create": {} }, { "@timestamp": "2022-06-21T15:38:30Z", "kubernetes": { "host": "gke-apps-0", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0", "container": { "cpu": { "usage": { "nanocores": 40018, "core": { "ns": 12828317850 }, "node": { "pct": 0.0000277905 }, "limit": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": 1062428344 }, "usage": { "bytes": 265142477, "node": { "pct": 0.01770037710617187 }, "limit": { "pct": 0.00009923134671484496 } }, "workingset": { "bytes": 2294743 }, "rss": { "bytes": 340623 }, "pagefaults": 224530, "majorpagefaults": 0 }, "start_time": "2021-03-30T07:59:06Z", "name": "container-name-44" }, "namespace": "namespace26" } } ], ) print(resp)
response = client.bulk( index: 'datastream', refresh: true, body: [ { create: {} }, { "@timestamp": '2022-06-21T15:49:00Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 91_153, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 463_314_616 }, usage: { bytes: 307_007_078, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 585_236 }, rss: { bytes: 102_728 }, pagefaults: 120_901, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:45:50Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 124_501, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 982_546_514 }, usage: { bytes: 360_035_574, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 1_339_884 }, rss: { bytes: 381_174 }, pagefaults: 178_473, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:44:50Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 38_907, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 862_723_768 }, usage: { bytes: 379_572_388, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 431_227 }, rss: { bytes: 386_580 }, pagefaults: 233_166, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:44:40Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 86_706, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 567_160_996 }, usage: { bytes: 103_266_017, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 1_724_908 }, rss: { bytes: 105_431 }, pagefaults: 233_166, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:44:00Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 150_069, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 639_054_643 }, usage: { bytes: 265_142_477, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 1_786_511 }, rss: { bytes: 189_235 }, pagefaults: 138_172, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:42:40Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 82_260, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 854_735_585 }, usage: { bytes: 309_798_052, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 924_058 }, rss: { bytes: 110_838 }, pagefaults: 259_073, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:42:10Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 153_404, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 279_586_406 }, usage: { bytes: 214_904_955, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 1_047_265 }, rss: { bytes: 91_914 }, pagefaults: 302_252, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:40:20Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 125_613, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 822_782_853 }, usage: { bytes: 100_475_044, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 2_109_932 }, rss: { bytes: 278_446 }, pagefaults: 74_843, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:40:10Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 100_046, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 567_160_996 }, usage: { bytes: 362_826_547, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 1_986_724 }, rss: { bytes: 402_801 }, pagefaults: 296_495, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } }, { create: {} }, { "@timestamp": '2022-06-21T15:38:30Z', kubernetes: { host: 'gke-apps-0', node: 'gke-apps-0-0', pod: 'gke-apps-0-0-0', container: { cpu: { usage: { nanocores: 40_018, core: { ns: 12_828_317_850 }, node: { pct: 2.77905e-05 }, limit: { pct: 2.77905e-05 } } }, memory: { available: { bytes: 1_062_428_344 }, usage: { bytes: 265_142_477, node: { pct: 0.01770037710617187 }, limit: { pct: 9.923134671484496e-05 } }, workingset: { bytes: 2_294_743 }, rss: { bytes: 340_623 }, pagefaults: 224_530, majorpagefaults: 0 }, start_time: '2021-03-30T07:59:06Z', name: 'container-name-44' }, namespace: 'namespace26' } } ] ) puts response
const response = await client.bulk({ index: "datastream", refresh: "true", operations: [ { create: {}, }, { "@timestamp": "2022-06-21T15:49:00Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 91153, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 463314616, }, usage: { bytes: 307007078, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 585236, }, rss: { bytes: 102728, }, pagefaults: 120901, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:45:50Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 124501, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 982546514, }, usage: { bytes: 360035574, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 1339884, }, rss: { bytes: 381174, }, pagefaults: 178473, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:44:50Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 38907, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 862723768, }, usage: { bytes: 379572388, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 431227, }, rss: { bytes: 386580, }, pagefaults: 233166, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:44:40Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 86706, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 567160996, }, usage: { bytes: 103266017, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 1724908, }, rss: { bytes: 105431, }, pagefaults: 233166, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:44:00Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 150069, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 639054643, }, usage: { bytes: 265142477, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 1786511, }, rss: { bytes: 189235, }, pagefaults: 138172, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:42:40Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 82260, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 854735585, }, usage: { bytes: 309798052, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 924058, }, rss: { bytes: 110838, }, pagefaults: 259073, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:42:10Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 153404, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 279586406, }, usage: { bytes: 214904955, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 1047265, }, rss: { bytes: 91914, }, pagefaults: 302252, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:40:20Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 125613, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 822782853, }, usage: { bytes: 100475044, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 2109932, }, rss: { bytes: 278446, }, pagefaults: 74843, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:40:10Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 100046, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 567160996, }, usage: { bytes: 362826547, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 1986724, }, rss: { bytes: 402801, }, pagefaults: 296495, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, { create: {}, }, { "@timestamp": "2022-06-21T15:38:30Z", kubernetes: { host: "gke-apps-0", node: "gke-apps-0-0", pod: "gke-apps-0-0-0", container: { cpu: { usage: { nanocores: 40018, core: { ns: 12828317850, }, node: { pct: 0.0000277905, }, limit: { pct: 0.0000277905, }, }, }, memory: { available: { bytes: 1062428344, }, usage: { bytes: 265142477, node: { pct: 0.01770037710617187, }, limit: { pct: 0.00009923134671484496, }, }, workingset: { bytes: 2294743, }, rss: { bytes: 340623, }, pagefaults: 224530, majorpagefaults: 0, }, start_time: "2021-03-30T07:59:06Z", name: "container-name-44", }, namespace: "namespace26", }, }, ], }); console.log(response);
PUT /datastream/_bulk?refresh {"create": {}} {"@timestamp":"2022-06-21T15:49:00Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":91153,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":463314616},"usage":{"bytes":307007078,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":585236},"rss":{"bytes":102728},"pagefaults":120901,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:45:50Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":124501,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":982546514},"usage":{"bytes":360035574,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":1339884},"rss":{"bytes":381174},"pagefaults":178473,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:44:50Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":38907,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":862723768},"usage":{"bytes":379572388,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":431227},"rss":{"bytes":386580},"pagefaults":233166,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:44:40Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":86706,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":567160996},"usage":{"bytes":103266017,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":1724908},"rss":{"bytes":105431},"pagefaults":233166,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:44:00Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":150069,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":639054643},"usage":{"bytes":265142477,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":1786511},"rss":{"bytes":189235},"pagefaults":138172,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:42:40Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":82260,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":854735585},"usage":{"bytes":309798052,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":924058},"rss":{"bytes":110838},"pagefaults":259073,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:42:10Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":153404,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":279586406},"usage":{"bytes":214904955,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":1047265},"rss":{"bytes":91914},"pagefaults":302252,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:40:20Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":125613,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":822782853},"usage":{"bytes":100475044,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":2109932},"rss":{"bytes":278446},"pagefaults":74843,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:40:10Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":100046,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":567160996},"usage":{"bytes":362826547,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":1986724},"rss":{"bytes":402801},"pagefaults":296495,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}} {"create": {}} {"@timestamp":"2022-06-21T15:38:30Z","kubernetes":{"host":"gke-apps-0","node":"gke-apps-0-0","pod":"gke-apps-0-0-0","container":{"cpu":{"usage":{"nanocores":40018,"core":{"ns":12828317850},"node":{"pct":2.77905e-05},"limit":{"pct":2.77905e-05}}},"memory":{"available":{"bytes":1062428344},"usage":{"bytes":265142477,"node":{"pct":0.01770037710617187},"limit":{"pct":9.923134671484496e-05}},"workingset":{"bytes":2294743},"rss":{"bytes":340623},"pagefaults":224530,"majorpagefaults":0},"start_time":"2021-03-30T07:59:06Z","name":"container-name-44"},"namespace":"namespace26"}}
查看数据流的当前状态
编辑现在您已经创建了数据流并向其中添加了文档,请检查以确认新索引的当前状态。
resp = client.indices.get_data_stream() print(resp)
response = client.indices.get_data_stream puts response
const response = await client.indices.getDataStream(); console.log(response);
GET _data_stream
如果尚未应用数据流生命周期策略,则您的结果将如下所示。请注意原始的index_name
:.ds-datastream-2024.04.29-000001
。
{ "data_streams": [ { "name": "datastream", "timestamp_field": { "name": "@timestamp" }, "indices": [ { "index_name": ".ds-datastream-2024.04.29-000001", "index_uuid": "vUMNtCyXQhGdlo1BD-cGRw", "managed_by": "Data stream lifecycle" } ], "generation": 1, "status": "GREEN", "template": "datastream_template", "lifecycle": { "enabled": true, "downsampling": [ { "after": "1m", "fixed_interval": "1h" } ] }, "next_generation_managed_by": "Data stream lifecycle", "hidden": false, "system": false, "allow_custom_routing": false, "replicated": false, "rollover_on_write": false, "time_series": { "temporal_ranges": [ { "start": "2024-04-29T15:55:46.000Z", "end": "2024-04-29T18:25:46.000Z" } ] } } ] }
接下来,运行搜索查询
resp = client.search( index="datastream", ) print(resp)
response = client.search( index: 'datastream' ) puts response
const response = await client.search({ index: "datastream", }); console.log(response);
GET datastream/_search
该查询将返回您新添加的十个文档。
{ "took": 23, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 10, "relation": "eq" }, ...
滚动数据流
编辑数据流生命周期将自动滚动数据流并执行降采样。此步骤仅在为了在本教程的范围内查看降采样结果时才需要。
使用滚动 API滚动数据流
const response = await client.indices.rollover({ alias: "datastream", }); console.log(response);
POST /datastream/_rollover/
查看降采样结果
编辑默认情况下,数据流生命周期操作每五分钟执行一次。降采样发生在索引滚动之后,并且索引时间序列结束时间已过,因为预计源索引在此之前仍会接收主要写入。索引在之前的步骤后现在已滚动,但其时间序列范围结束很可能仍在未来。一旦索引时间序列范围过去,请重新运行GET _data_stream
请求。
resp = client.indices.get_data_stream() print(resp)
response = client.indices.get_data_stream puts response
const response = await client.indices.getDataStream(); console.log(response);
GET _data_stream
在执行数据流生命周期操作后,原始的.ds-datastream-2024.04.29-000001
索引将被新的降采样索引替换,在本例中为downsample-1h-.ds-datastream-2024.04.29-000001
。
{ "data_streams": [ { "name": "datastream", "timestamp_field": { "name": "@timestamp" }, "indices": [ { "index_name": "downsample-1h-.ds-datastream-2024.04.29-000001", "index_uuid": "VqXuShP4T8ODAOnWFcqitg", "managed_by": "Data stream lifecycle" }, { "index_name": ".ds-datastream-2024.04.29-000002", "index_uuid": "8gCeSdjUSWG-o-PeEAJ0jA", "managed_by": "Data stream lifecycle" } ], ...
对数据流运行搜索查询(请注意,在查询降采样索引时,有一些需要注意的细微差别)。
resp = client.search( index="datastream", ) print(resp)
response = client.search( index: 'datastream' ) puts response
const response = await client.search({ index: "datastream", }); console.log(response);
GET datastream/_search
新的降采样索引只包含一个文档,其中包括基于原始采样指标的min
、max
、sum
和value_count
统计信息。
{ "took": 26, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 1, "hits": [ { "_index": "downsample-1h-.ds-datastream-2024.04.29-000001", "_id": "0eL0wMf38sl_s5JnAAABjyrMjoA", "_score": 1, "_source": { "@timestamp": "2024-04-29T17:00:00.000Z", "_doc_count": 10, "kubernetes": { "container": { "cpu": { "usage": { "core": { "ns": 12828317850 }, "limit": { "pct": 0.0000277905 }, "nanocores": { "min": 38907, "max": 153404, "sum": 992677, "value_count": 10 }, "node": { "pct": 0.0000277905 } } }, "memory": { "available": { "bytes": { "min": 279586406, "max": 1062428344, "sum": 7101494721, "value_count": 10 } }, "majorpagefaults": 0, "pagefaults": { "min": 74843, "max": 302252, "sum": 2061071, "value_count": 10 }, "rss": { "bytes": { "min": 91914, "max": 402801, "sum": 2389770, "value_count": 10 } }, "usage": { "bytes": { "min": 100475044, "max": 379572388, "sum": 2668170609, "value_count": 10 }, "limit": { "pct": 0.00009923134 }, "node": { "pct": 0.017700378 } }, "workingset": { "bytes": { "min": 431227, "max": 2294743, "sum": 14230488, "value_count": 10 } } }, "name": "container-name-44", "start_time": "2021-03-30T07:59:06.000Z" }, "host": "gke-apps-0", "namespace": "namespace26", "node": "gke-apps-0-0", "pod": "gke-apps-0-0-0" } } } ] } }
使用数据流统计 API获取数据流的统计信息,包括存储大小。
resp = client.indices.data_streams_stats( name="datastream", human=True, ) print(resp)
response = client.indices.data_streams_stats( name: 'datastream', human: true ) puts response
const response = await client.indices.dataStreamsStats({ name: "datastream", human: "true", }); console.log(response);
GET /_data_stream/datastream/_stats?human=true
{ "_shards": { "total": 4, "successful": 4, "failed": 0 }, "data_stream_count": 1, "backing_indices": 2, "total_store_size": "37.3kb", "total_store_size_bytes": 38230, "data_streams": [ { "data_stream": "datastream", "backing_indices": 2, "store_size": "37.3kb", "store_size_bytes": 38230, "maximum_timestamp": 1714410000000 } ] }
此示例演示了降采样如何作为数据流生命周期的一部分工作,以减少指标数据的存储大小,因为它的时效性降低且查询频率降低。