灰度开关打开后,新功能在监控里几乎没有请求,分不清是没人访问还是流量根本没分过来。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,灰度按来源地址或请求头匹配,而前面的代理把真实地址改写掉了,规则一直没命中。
「灰度流量确认」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
proxy_set_header X-Real-IP $remote_addr;
# 按 uid 取模分流
if ($arg_uid ~ '[02468]$') { }
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
具体做法是,先确认入口处真实请求头字段;按用户标识而不是地址分流;灰度机器单独打日志看比例。
最后用这个标准收尾,灰度机器日志里能看到预期的请求比例,开关关闭后归零。
