syslog 消息格式详解:PRI、时间戳、TAG 各是什么?

syslog 消息由 PRI(优先级数字)、Header(时间戳+主机名)、MSG(TAG+内容)三部分组成。PRI = facility×8 + severity。本文拆解 RFC 3164 格式与各字段含义。

最佳实践
syslog 消息格式详解:PRI、时间戳、TAG 各是什么?封面

一条经典 syslog 消息长这样:<34>Oct 11 22:14:15 myhost su: 'su root' failed——尖括号里是优先级 PRI,随后是时间戳、主机名、进程标签和正文。

三段结构(RFC 3164)

<PRI>  TIMESTAMP  HOSTNAME  TAG: MESSAGE
<34>   Oct 11 22:14:15 myhost su: 'su root' failed for lonvick on /dev/pts/8
  • PRI:尖括号内的数字 = facility × 8 + severity。34 = facility 4(auth)× 8 + severity 2(critical);
  • TIMESTAMPMmm dd HH:MM:SS 本地时间(注意没有年份和时区——老格式的著名缺陷);
  • HOSTNAME:来源主机;
  • TAG:产生消息的进程名(如 su:),常带 PID;
  • MESSAGE:正文,最大 1024 字节。

新版本:RFC 5424

<34>1 2024-01-15T10:30:00.123Z myhost app 1234 ID47 [exampleSDID@32473 k="v"] 消息正文

增加了:版本号、带时区的高精度时间戳、结构化数据(SD 段)。新部署建议用 5424。

观测云对照

观测云 DataKit 的 syslog 采集器同时兼容 3164/5424 两种格式,自动解析 facility、severity、hostname 为可检索字段。

常见问题(FAQ)

Q:facility 和 severity 常见值? facility:0 kern、1 user、3 daemon、4 auth、16-23 local0-7;severity:0 emerg 到 7 debug。

Q:时间戳没有年份怎么办? 接收端按接收时间补年份——跨年归档时注意歧义。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台