指标系统最怕什么
很多团队一开始埋点很积极,过一阵就发现存储暴涨、查询变慢。高基数标签通常是罪魁祸首。
典型高危标签:
- user_id
- request_id
- 完整 URL 路径
- 动态错误信息
设计原则
- 指标看聚合趋势,不看单请求细节
- 单请求细节放到 trace 或日志
- 标签值集合必须可控
一个可行做法
http.route用模板路由,如/users/:id- 错误类型归类为固定枚举
- 把业务自定义标签做白名单审核
工程措施
- 在 SDK 层做标签拦截
- 给 metric pipeline 增加 cardinality 预算告警
- 定期扫描 top N label pairs
小结
可观测性不是“埋得越多越好”。指标、日志、追踪各司其职,系统才能长期稳定运行。