Linux syslog 是一种系统日志机制,用于收集、分类、存储和转发系统和应用程序的日志信息。它是 Linux/Unix 系统中最传统、最核心的日志体系之一。
syslog 有两层含义:
一种日志协议 / 标准
一套日志系统实现
/etc/syslog.conf)/var/log/messages)✅ 记录系统运行状态
✅ 记录错误、警告、调试信息
✅ 集中管理多程序日志
✅ 支持本地或远程日志
✅ 便于排错和安全审计
一条 syslog 消息通常包含:
<PRI> TIMESTAMP HOSTNAME APP[PID]: MESSAGE
示例:
<86> Mar 28 10:01:12 server1 sshd[1234]: Accepted password for root
表示日志来自哪个子系统:
| Facility | 说明 |
|---|---|
| kern | 内核 |
| user | 用户程序 |
| 邮件系统 | |
| daemon | 系统守护进程 |
| auth / authpriv | 认证相关 |
| local0–local7 | 自定义用途 |
表示日志的重要程度(数字越小越严重):
| 级别 | 名称 | 含义 |
|---|---|---|
| 0 | emerg | 系统不可用 |
| 1 | alert | 必须立即处理 |
| 2 | crit | 严重错误 |
| 3 | err | 错误 |
| 4 | warning | 警告 |
| 5 | notice | 正常但重要 |
| 6 | info | 信息 |
| 7 | debug | 调试信息 |
应用程序
↓
syslog API (openlog / syslog)
↓
syslogd / rsyslogd
↓
日志文件(/var/log/*)
syslogd/etc/syslog.conf/etc/rsyslog.conf| 文件 | 内容 |
|---|---|
/var/log/messages |
通用系统日志 |
/var/log/secure |
认证、登录 |
/var/log/dmesg |
内核日志 |
/var/log/cron |
定时任务 |
logger "This is a test log"
查看:
tail -f /var/log/messages
✅ systemd 系统使用 journald
✅ journalctl 替代部分 syslog 功能
✅ rsyslog / syslog-ng 通常作为补充
journalctl -xe
Linux syslog 是一种用于记录系统和程序运行信息的日志机制,是系统排错、监控和安全审计的基础。
如果你愿意,我可以: