真正能执行的可观测性预算
基数、保留期限和关注度都是有成本的。一个按服务分配的预算,加上三类仪表盘。
可观测性系统如果不主动设置上限,就会无限增长。指标平台的默认行为就是吃掉你扔给它的每一个指标,直到存储层喊停。而到了那个时候,月度账单已经变成了财务部有人在追问的一个项目。
我们发现最有效的方法是按服务分配预算。每个团队获得固定的基数配额——比如每个服务 200 条时间序列——任何新指标都必须挤掉一个现有指标。这个限制迫使团队去讨论什么才是真正重要的。
三类仪表盘
并非每个仪表盘服务于同一类受众,所以我们不再假装它们可以通用:
- 服务仪表盘 — 给拥有该服务的团队看。包含所有内容:请求率、错误预算、延迟直方图、饱和度信号。
- 业务仪表盘 — 给产品和管理层看。展示可用率、吞吐量和面向用户的关键指标,绝不提 GC 暂停时间或队列深度。
- 调试仪表盘 — 给事故应急用。当告警触发时自动打开,聚焦于受影响的 service,面板内容基于上一次排查经验。
常见的错误是试图用一个仪表盘服务所有三类受众。结果就是没有一个受众满意,面板上堆满了没人需要的上下文。
分级保留策略
原始数据保留几天,聚合数据保留几个月,月度汇总永久保留。诱惑在于想以全分辨率保留所有数据「以防万一」,但需要全分辨率数据的查询少之又少,而存储成本却每天都在支付。
学会删除
我们维护了一份仪表盘列表,记录每个盘的最后打开时间。超过一个季度未打开的仪表盘会被归档而非直接删除,这样决策成本低且可逆。更小的监控面更容易让人信任,而信任才是监控系统真正重要的属性。