跳转至

观测云数据采样功能技术指南:优化数据量与查询效率


功能处理逻辑

观测云的数据采样功能贯穿数据处理的整个生命周期:

  1. 采集阶段采样:在数据上报前进行过滤,减少数据摄入量和存储成本;

  2. 查询阶段采样:对大规模查询结果进行智能降采样,提升图表渲染与数据分析速度。

核心原则

两个阶段的采样相互独立又互为补充:采集阶段采样决定哪些数据被永久存储,直接影响存储成本;查询阶段采样仅影响数据展示方式,原始数据保持完整。在保证关键数据完整性的前提下,通过采样策略优化资源消耗。

数据采集阶段的采样配置

此处列举 3 个典型场景。

1. 用户访问监测(RUM)采样

  • 配置入口:观测云控制台 > 用户访问监测 > 新建/编辑应用 > SDK 配置。

  • 采样逻辑:

    • 通过设置 sampleRate 参数(如 sampleRate: 90)控制数据上报比例。

    • SDK 初始化时生成随机数(0-100),若随机数小于采样率,则上报数据。

  • 适用场景:Web/Android/iOS/小程序应用,需降低用户行为数据存储成本。

2. 应用性能监测(APM)采样

  • 支持方式:

    • 通过代码埋点设置采样率(如 DDTrace、OpenTelemetry 等);

    • 在 DataKit 采集器中配置链路数据采样规则。

  • 采样策略:

    • 全量采集:错误请求、慢请求;

    • 降采样:正常请求(可设置 1%-10% 采样率)。

3. 日志数据采样

  • 配置能力:

    • 使用 Pipeline 中的 drop() 函数丢弃冗余日志,或 sample() 函数按比例采样;

    • 支持配置黑名单过滤低价值日志。

  • 典型场景:对调试日志采用低采样率,错误日志全量采集。

查询阶段的采样功能

观测云在查询阶段提供智能采样机制,当查询数据量达到预设阈值时自动触发,从而保障大规模数据查询的响应性能。

系统设定的关键采样阈值包括:

  • 仪表板查询 2 亿数据点

  • 查看器查询 1 亿数据点

  • Facet 查询 500 万数据点

  • 其他通用查询 2 亿数据点

采样策略选择指南

场景 采样类型 建议配置 注意事项
用户行为分析 RUM 采集采样 根据业务重要性设置采样率 需确保错误操作和关键路径全量采集
应用性能排查 APM 链路采样 错误/慢请求全量采集,正常请求采样率 1%-10% 通过 TraceID 保证链路完整性
日志长期存储 日志 Pipeline 采样 高频日志采样率 ≤5%,错误日志全量采集 结合敏感数据脱敏规则
仪表板宏观趋势 查询采样 开启采样,时间范围 > 24 小时 排查具体问题时关闭采样并缩小时间范围。
实时告警 不采样 基于原始数据计算 避免采样导致的误报/漏报

关键注意事项

  1. 数据一致性:采样可能稀释极端值,重要决策需通过全量数据验证;

  2. 成本与性能平衡:采集采样降低存储成本,查询采样提升响应速度;

  3. 动态调优:定期检查采样后数据的统计分布,调整策略以适应业务变化。

总结

观测云的采样功能是一个多层次、可定制的成本与性能优化工具:

  • 采集端采样直接减少数据流入,适用于 RUM、APM、日志等高频数据;

  • 查询端采样保障大规模数据交互的流畅性,适用于仪表板与历史分析。

通过结合业务优先级(如错误全量、正常降采样)与查询需求(宏观趋势开启、精准排查关闭),可实现资源效率与数据可信度的最佳平衡。

文档评价

文档内容是否对您有帮助? ×