新上的掩码规则把金额字段也匹配进去了,一千二百条订单金额显示成星号,对账时才发现。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,规则用宽泛的正则匹配所有长数字串,金额、订单号一起中招。上线前没跑断言,也没做灰度。
碰到「脱敏结果校验」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。改完顺手把文档补一句,省得下次自己重新推一遍。
assert mask_amount('10800.50') == '10800.50'
assert mask_phone('13800138000') == '138****8000'
监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
具体做法是,规则限定字段类型 不做全字段匹配;上线前跑样本断言 金额必须原样;先灰度一个接口观察;监控掩码字段数量突增就告警。
最后用这个标准收尾,金额列不再出现星号 断言用例全部通过。
