Squid 日志:407 之后紧跟 200,算失败吗?
当 Squid 记录一次质询后紧跟成功隧道时,应把已完成的操作与认证往返分开计数。
假设客户端在没有代理凭据的情况下发送一个请求,收到一次质询,然后成功重试。请求日志里可能留下两条记录。但使用应用的人实际只经历了一次完成的操作。
所以,日志在 TCP_DENIED/407 与 TCP_TUNNEL/200 之间平均分布,并不能自动说明失败率是百分之五十。先要判断这些记录是否构成质询与重试的配对。
数你真正关心的东西
| 度量 | 计数 |
|---|---|
| 认证质询 | 代理要求认证的响应 |
| 代理尝试 | 中间层记录的单个事务 |
| 已完成作业 | 达到预期结果的应用操作 |
把时间戳、客户端上下文、目标以及任何可用的请求标识关联起来。未认证的尝试可能没有记录用户名,而它成功的重试则有。并发活动意味着仅凭相邻的行,只能算两行属于同一件事的弱证据。
还要把成功的隧道与成功的网站操作区分开。接受 CONNECT 只建立隧道;目标仍可能在 TLS 过程中失败,或在之后返回应用错误。
要调查反复出现的终结性质询、此后从未完成的作业,或者往返次数的突然变化。这些与一个稳定、按配置要求先取得质询的客户端不同。仅仅为了让仪表盘更绿而压制认证,改变的是服务本身,而不是修复度量。