首页/云/可观测性速查/遥测采样:指标、日志、链路各有策略
监控体系与方法40 条

遥测采样:指标、日志、链路各有策略

采样是针对量大且可丢弃数据的控制手段:指标按采集间隔天然降采样,日志可按级别或比例抽样,链路采样率直接影响成本与可观测性。

可观测性速查云更新于 2026-10-13

遥测采样是什么

采样是针对量大且可丢弃数据的成本控制手段。三类信号的采样方式并不相同:指标按抓取间隔天然降采样,间隔决定分辨率与存储量;日志可按级别过滤或按比例抽样,抽样后无法回答精确计数类问题;链路采样决定成本与可见性,头部采样在上报前决定、尾部采样在链路结束后按结果决定。理清这层差别,才能在成本与可观测性之间做出有依据的取舍。

基本信息

指标按抓取间隔聚合,常见 15 秒到 1 分钟
日志按级别过滤、按比例抽样、按来源限流
链路头部采样(概率)或尾部采样(按结果)
取舍原则先保证关键错误与关键路径可见,再压缩普通流量

典型使用场景

  • 采集间隔调优:核心指标用短间隔,容量类指标用长间隔
  • 日志降量:把高频无信息量的成功日志降级或抽样
  • 链路降本:高流量服务降低采样率,保留错误与慢请求
  • 尾部采样:链路结束后按错误或延迟条件决定是否保留
  • 成本核算:按采样率反推存储与带宽需求

OpenTelemetry 采样环境变量

OpenTelemetry 采样环境变量
export OTEL_TRACES_SAMPLER=parentbased_traceidratio
export OTEL_TRACES_SAMPLER_ARG=0.1        # 保留 10% 链路
export OTEL_SERVICE_NAME=order-api

# 日志侧通常用采集器过滤而不是应用内抽样
# Promtail 示例:只保留 warn 及以上
export LOG_LEVEL=warn

# 指标侧控制间隔:抓取配置里的 scrape_interval
# 间隔越短序列越密,存储与查询代价同步上升

三类信号的采样方式

信号采样方式注意事项
指标按抓取间隔聚合(15s / 1m)间隔越短分辨率越高、成本越高
日志按级别过滤或按比例抽样抽样后不能再做精确计数
链路头部概率采样或尾部结果采样低采样率会漏掉低频错误路径
事件一般不采样低频高价值,通常全量保留
先采样再上报是成本控制的起点:在采集端丢弃比在后端存储再删除便宜得多,但丢弃是不可逆的,采样策略变更前先确认排障需求。
错误链路通常单独提高采样率或全量保留:尾部采样按状态码、错误标记或延迟阈值决定保留,能在降本的同时保住排障样本。

易错点

  • 日志抽样后不能再用于精确统计,例如「当天共有多少条 500 错误」这类问题会得到偏差结果
  • 链路采样率长期偏低(如 1%)时,低频但关键的故障路径可能从未被采到,排障时没有样本可看
  • 采样规则只降量不分类,把错误与慢请求一起抽掉,成本省了但可观测性同时失效
  • 调整采样率不做记录,历史趋势图上出现台阶,被误读为业务流量变化

数据来源与参考

  • OpenTelemetry 文档 · Sampling
  • Prometheus 文档 · 抓取与存储基本原理
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌