标准答案
- Counter 适合请求总数、错误总数、消费消息数和重试次数,通常通过增量计算速率。
- Gauge 适合队列长度、连接数、缓存大小、在线任务数等当前状态,但不应把高频明细当成 Gauge。
- Histogram 把观测值放入桶中,适合延迟、响应大小和任务耗时,便于服务端跨实例聚合。
- Summary 可以在客户端维护分位数,但跨实例合并能力有限,使用前要理解监控系统的聚合方式。
题目解析
指标类型决定后续能否正确计算。例如用 Gauge 记录累计请求数会在重启后跳变,错误率和速率都难以解释。
标签维度要克制。用户 ID、订单 ID、完整 URL 等高基数字段会让指标存储和查询失控,应放到日志或追踪中。
常见误区
- 把每个用户或订单当作指标标签。
- 只记录成功数,不记录失败类型和总量。
- 使用客户端分位数后又把多个实例结果简单平均。