结论先行:指标口径吵不清,多数时候不是缺一份规范,是这份规范没人署名。可行的做法是按指标类别分主,不按部门投票:交易类指标由业务定,链路类指标由开发定,可用类指标由运维定,但三方要在同一份指标规范上各自确认一次。改口径要留版本,新旧并行跑一段时间再切。
本文只谈指标口径归谁定、怎么定下来、改的时候走什么流程,不谈几个验收口径该怎么挑一个,也不谈稳定性目标的具体数值怎么算。
为什么同一件事会有三个数
举一个具体场景。某天上午业务反馈「下单很慢」。运维打开面板,看到的是接口响应耗时升高;开发打开链路视图,看到的是某个方法调用时间变长;业务打开报表,看到的是当日下单成功率下降。
三个数都对,量的是三件不同的事:一个环节的耗时、一段代码的耗时、一批请求的结果。但如果这三个数出现在同一场汇报里,就会被当成矛盾——「到底是慢还是不慢」。
这类争执的解决方式,通常是谁级别高听谁的,或者谁嗓门大听谁的。下一次再吵一遍。
口径要定的是四件事
「统一口径」听起来像口号,落到纸面是四个具体项。四项里缺任何一项,同一个词还能读出两种意思。
| 项 | 要定什么 | 不定会怎样 |
|---|---|---|
| 算谁 | 指标归属到哪个主体:服务、接口、还是业务单 | 同一段耗时被算进两个服务的账上 |
| 算哪一段 | 计时的起止点:首字节、最后一个字节、还是含排队 | 同一接口在两个面板上差一倍 |
| 失败算不算 | 失败请求、超时请求进不进分母 | 出故障时指标反而变好看 |
| 看哪个分位 | 平均、95 分位、还是最差那一批 | 平均值掩盖长尾,用户体验与报表背离 |
四项里最容易漏的是第三项。失败请求如果不进分母,一旦故障集中在一部分请求上,剩下成功的那些反而把平均值拉下来了——数字变好看,实际情况变差。这一条在验收阶段尤其容易引发争议。
分主,不投票
定了四项之后,还有一个问题:谁来定。常见的做法是开会讨论,讨论的结果往往是折中——每个数都取一点,凑出一个谁都不完全满意的口径。这比不统一更糟,因为它看起来统一了。
更可行的原则是按指标类别分主,一个问题只有一个签字方:
- 交易类指标——下单量、成功率、转化——由业务定。业务最清楚一单从哪开始算、什么算成功。
- 链路类指标——调用耗时、错误率、依赖拓扑——由开发定。代码在他们手里,起止点只有他们说得准。
- 可用类指标——服务在线率、探测成功率、恢复时长——由运维定。探测点怎么布、什么算不可用,是运维的现场经验。
分主之后仍然需要一次共同的确认。理由很简单:一张面板上三类指标会摆在一起,如果三方各自定完互不知道,面板本身就自相矛盾。确认的动作不需要开会,只需要在同一份指标规范上各自署名一次,版本留档。
这份规范要写多细?建议一处一个指标,每处五行:名称、算谁、算哪一段、失败算不算、看哪个分位。二十个核心指标写下来大概两三页,比一份三十页的监控体系规划好用得多。
改口径要走什么流程
口径不是定完就不动的。业务模式变了、系统架构变了,口径必须跟着改。真正造成混乱的不是改,是悄悄改。
常见的问题场景:某个月报表数字突然好看了一截,追下去发现是上个月调整了失败请求的计入口径,但没人通知使用报表的人。这种改动造成的信任损失,往往比数字本身严重。
可行的流程三步:
- 留版本号。指标规范本身要带版本,每次改动升一位,改动内容单独记一行。
- 新旧并行。口径调整后,新旧两套各跑一段时间,面板上并列显示,让差异被看见。
- 标注口径版本。对外汇报的材料上标明用的是哪一版口径。这一行字能省掉后面无数解释。
并行期多长看指标的使用频率。周报用的指标,并行一个月足够;季度、年度汇报用的指标,要并行到下一个汇报周期结束,否则一比较就跳。
三个信号,看出规范形同虚设
信号其一:同一个指标,两个面板上的数不一样。这说明至少有一处的算法没有被规范约束住。发现这种情况不要急着改其中一个,先把两处的算法都翻出来对。
信号其二:月度汇报的数与日常日报对不上。短期波动正常,系统性差异通常意味着口径不同,或者抽样范围不同。
信号其三:问「这个数怎么算的」,答「系统里就是这么算的」。这句话是规范失效的直接证据——算法存在,但没有人能把它复述出来。
从哪儿开始落地
建议从被引用最多的十个指标开始,不要一上来就整理全量。这十个通常占据汇报材料的绝大部分篇幅,口径统一了,争议会立刻少一大半。
具体做法是把这十个指标摊开,逐个填那五行,填的过程中把三方拉到一起对一次。对不上的地方就是真正的分歧点,不用回避。
深圳市奇摩计算机有限公司在可观测类项目交付时,会把这份指标规范作为一项独立交付物,与操作手册分开交给客户,并要求运维、开发、业务三方各自确认一次。规范没签,面板做得再好看也只是一个参考视图。需要梳理自己的指标口径,可以预约咨询。
