标准结构是什么
Syslog 报文的标准结构是「优先级 + 头部 + 消息体」:优先级由设施与严重度组合而成,头部给出时间与来源主机,消息体放具体内容。厂商通常把业务字段——规则名、源目地址与端口、动作、命中位置——扩展在消息体里。
解析前先看样例
解析规则必须按真实样例来写:同一厂商的不同型号、不同软件版本,字段名、顺序与分隔符都可能不同。先收集几条真实日志确认结构,再写解析与归一化规则,最后用同一批样例回放验证,避免上线后大量字段为空。
基本信息
| 标准结构 | PRI、HEADER(时间与主机名)、MSG |
|---|---|
| 厂商扩展 | 业务字段(规则、五元组、动作)位于 MSG 内 |
| 解析方法 | 按原始样例编写解析规则并回放验证 |
| 常见问题 | 字段名与位置随版本变化,解析失效 |
典型使用场景
- 为日志平台编写设备日志解析规则
- 排查日志入库后字段为空的问题
- 设备升级后确认解析仍然正常
- 向 SIEM 对接时统一字段命名
- 排查同一事件在不同设备上的字段差异
- 制定日志字段的归一化标准
样例结构示意
样例结构示意
# PRI + 时间 + 主机名 + 消息体(含厂商扩展字段)
<134>Oct 12 10:00:01 USG-A %%01SEC/4/POLICY(l): rule=..., src=..., dst=..., action=...
# 解析要点:先定位时间与主机名,再按分隔符提取业务字段
# 用真实样例回放,确认关键字段都能解析出来组成与读法
| 部分 | 内容 |
|---|---|
| PRI | 设施与严重度的组合值,用于分级 |
| HEADER | 时间戳与来源主机名,用于归集 |
| MSG | 消息内容,厂商业务字段都在这里 |
| 扩展字段 | 规则、地址、端口、动作等,格式随厂商版本变化 |
解析规则上线前用真实样例验证:只按文档字段写解析,常出现关键字不匹配、字段位置偏差。
不同版本的设备字段顺序可能变化,升级后解析会静默失效,字段变空但日志仍在入库。
归一化时保留原始报文:解析规则调整后可以重新回放历史数据,不用重新造样本。