首页/云/可观测性速查/可观测性成本治理:先分层再压缩
监控体系与方法40 条

可观测性成本治理:先分层再压缩

遥测成本主要在存储与查询:先按信号分层(指标长期、日志短期、链路按需),再对高成本来源做采样、过滤与保留期收缩,避免全量长期保留成为默认。

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

成本从哪来

可观测性成本主要落在存储、查询与人力三块:指标按时间序列条数与保留期计费,日志按写入字节数与保留天数计费,链路按产生的 span 数量计费。治理的目标不是把数据压到最少,而是在排障能力与花费之间找到可解释的平衡,方法是先按信号分层,再对高成本来源做压缩。分层意味着不同信号承担不同职责:指标长期留存用于趋势与容量,日志短期留存用于定位细节,链路只在需要时保留。

成本结构拆解

信号成本驱动压缩手段
指标序列条数 × 采集频率 × 保留期清理无引用指标、降低采集频率、砍掉高基数标签
日志写入字节数 × 保留天数 × 副本数降级别、结构化解构后裁剪字段、冷热分层
链路采样产生的 span 数量头部采样降比例、尾部采样保留错误与慢请求
查询扫描数据量与并发查询数限制面板时间范围、预聚合、结果缓存

分层保留参考

指标长期保留用于趋势,配合 5m 或 1h 降采样控制体积
日志热存 7-30 天供检索,更早数据下沉到冷存或对象存储
链路按需保留,错误链路与慢请求优先,正常链路大幅抽样
看板与告警仍被引用的数据不下沉、不删除,改动前先核对引用关系

降成本四步顺序

  • 第一步核对口径:确认业务、看板与告警真的没有消费,再谈删除或降采样
  • 第二步砍高基数:找出标签基数异常的目标,减少无人使用的维度
  • 第三步调保留期:把冷数据下沉到廉价存储,而不是直接删除历史
  • 第四步上采样:日志降级别、链路提高采样率并用尾部采样保住错误链路
  • 留出复盘入口:压缩后若排障时间明显变长,说明压过了头,需要回退

盘点指标引用

盘点指标引用
# 导出当前全部指标名
curl -s localhost:9090/api/v1/label/__name__/values | jq -r '.data[]' | sort > all_metrics.txt
# 与看板、告警规则里引用过的指标名做差集,得到候选清理清单
comm -23 all_metrics.txt used_metrics.txt | head -50
# 逐个确认:该指标最近 30 天是否还有写入
curl -s 'localhost:9090/api/v1/query?query=count(count_over_time(mysql_global_status_threads_connected[30d]))' | jq '.data.result'
删除指标或缩短保留期前先确认告警规则、看板与外部订阅没有引用;历史数据一旦清理无法恢复,误删后只能等重新采集补齐。
采样要按信号区分对待:低频但高价值的故障链路应单独保留,关键支付的慢请求不适合被统一采样率一刀切掉。

易错点

  • 盲目降低所有采样率会让低频故障不可见,关键路径要单独评估并保留
  • 只看存储费用不看人力成本:过度压缩后排障时间变长,总体成本未必下降
  • 用降低日志级别替代修复噪声日志,可能连排障必需的上下文一起丢掉
  • 保留期调整没有对齐合规与审计要求,取证时才发现数据已被清理

数据来源与参考

  • Grafana Labs 博客 · 可观测性成本管理系列
  • Prometheus 文档 · 存储与保留配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌