看懂客户端日志:用日志定位连接问题
教你打开并读懂代理客户端的连接日志与日志等级,从日志里区分是 DNS、握手、节点还是规则的问题,更快定位故障。
速览结论
客户端日志按时间记录每次连接的处理过程。排查时把日志等级调到 info/debug,复现问题后看报错行:出现 DNS/resolve 指向解析、handshake/certificate 指向握手或节点、timeout 指向节点或网络、rule/match 指向分流规则。据此缩小范围再对症处理。
关键事实
- 把日志等级调到 info/debug,复现问题再看日志。
- 按关键词判断方向:DNS、握手、超时、规则。
- 日志能区分"解析/节点/规则"问题,省去盲试。
适用范围与局限
不同客户端的日志格式与字段差异很大,本文为通用读法,具体字段含义以各客户端文档为准。
遇到连不上,与其一遍遍瞎试,不如打开日志看看客户端到底卡在哪一步。日志是最直接的线索。
先调好日志等级
多数客户端有日志面板和日志等级设置(error / warn / info / debug)。排查时调到 info 或 debug,然后复现问题,再回头看这段日志。平时可调回 warn 以免刷屏。
按关键词判断方向
日志按时间记录每条连接的处理过程,看报错行的关键词:
- DNS / resolve / 解析失败 → DNS 环节,参考DNS 污染排查。
- handshake / certificate / TLS → 握手或节点配置问题。
- timeout / 超时 / connection refused → 节点失效、拥塞或网络问题。
- rule / match / DIRECT → 命中了某条分流规则,可能被错误地放行直连。
- subscription / provider → 订阅拉取问题。
各类报错词的含义详见常见代理错误提示。
从日志缩小范围
- 看流量命中了哪个节点/哪条规则:走对节点了吗?被规则导去直连了吗?
- 对比正常与异常两次日志的差异,差异点往往就是问题所在。
- 定位到环节后再对症处理,系统化流程见连接失败怎么办;客户端起不来见客户端无法启动。
不同客户端日志格式差异很大,具体字段以各自文档为准。