指标系统最怕什么

很多团队一开始埋点很积极,过一阵就发现存储暴涨、查询变慢。高基数标签通常是罪魁祸首。

典型高危标签:

  • user_id
  • request_id
  • 完整 URL 路径
  • 动态错误信息

设计原则

  1. 指标看聚合趋势,不看单请求细节
  2. 单请求细节放到 trace 或日志
  3. 标签值集合必须可控

一个可行做法

  • http.route 用模板路由,如 /users/:id
  • 错误类型归类为固定枚举
  • 把业务自定义标签做白名单审核

工程措施

  • 在 SDK 层做标签拦截
  • 给 metric pipeline 增加 cardinality 预算告警
  • 定期扫描 top N label pairs

小结

可观测性不是“埋得越多越好”。指标、日志、追踪各司其职,系统才能长期稳定运行。