日志字段能回答什么
在服务访问日志中加入协议版本与套件等变量,可以按版本与套件统计分布,为下线旧协议与兼容性排查提供数据依据。可用的变量包括协议版本、协商套件、请求中的服务名称与会话是否复用。日志字段一旦调整,下游分析规则要同步更新,否则统计口径会出现断裂。
基本信息
| 协议版本变量 | 协商的协议版本,例如新版协议名称 |
|---|---|
| 套件变量 | 协商使用的套件名 |
| 服务名称变量 | 请求中的名称,未发送时为空 |
| 会话复用变量 | 会话是否复用,取两个不同标记 |
典型使用场景
- 下线旧协议前统计客户端版本分布
- 兼容性排查:定位实际协商到的套件
- 容量评估:统计会话复用比例
- 安全审计:确认是否存在异常旧版本连接
- 排错:确认请求命中的是哪台虚拟主机
日志格式与采集
日志格式与采集
log_format tls '$remote_addr [$time_local] "$request" '
'$status $ssl_protocol $ssl_cipher '
'sni=$ssl_server_name reused=$ssl_session_reused';
access_log /var/log/nginx/access.log tls;字段读法
| 字段 | 含义 | 异常表现 |
|---|---|---|
| 协议版本 | 协商的协议版本 | 出现旧版本说明存在老客户端 |
| 套件 | 协商的套件名 | 出现弱套件说明配置未生效 |
| 服务名称 | 请求中的名称 | 为空说明客户端未发送 |
| 复用标记 | 会话是否复用 | 复用率低说明会话缓存未命中 |
统计协议分布可以量化老客户端的实际占比,为停用旧协议提供依据;先采集一段时间再决策,比按经验直接关闭更稳妥。
落地建议
- 变更日志格式时同步更新分析规则
- 把协议与套件字段纳入长期留存
- 按站点分别统计,避免口径混淆
- 统计结果与配置变更记录关联留档
把记录层版本号与应用层协议混为一谈会得出错误结论;判断实际协商结果要以日志中的协议字段与握手输出为准。