在 Debian(以及大多数现代 Linux 发行版)中,日志格式取决于使用的日志系统。目前 Debian 主要使用 systemd-journald(journal) 和 rsyslog/traditional syslog 两种方式。下面分别说明。
Debian 8 及以后默认使用 systemd,日志由 journald 管理。
journalctl
journalctl -xe
journalctl -u nginx.service
Mar 15 10:22:31 debian sshd[1234]: Accepted password for root from 192.168.1.10 port 54322 ssh2
| 字段 | 含义 |
|---|---|
Mar 15 10:22:31 |
时间(月 日 时:分:秒) |
debian |
主机名 |
sshd |
服务/进程名 |
[1234] |
PID(进程 ID) |
| 后面内容 | 具体日志消息 |
journalctl -o json-pretty
包含:
_HOSTNAME_PID_SYSTEMD_UNITMESSAGEPRIORITY日志文件通常在:
/var/log/syslog
/var/log/messages
/var/log/auth.log
Mar 15 10:22:31 debian sshd[1234]: Accepted password for root from 192.168.1.10 port 54322 ssh2
时间戳 主机名 程序名[PID]: 日志内容
| 文件 | 内容 |
|---|---|
/var/log/syslog |
系统综合日志 |
/var/log/auth.log |
认证、登录 |
/var/log/kern.log |
内核日志 |
/var/log/dpkg.log |
软件安装记录 |
| 级别 | 含义 |
|---|---|
| emerg | 系统不可用 |
| alert | 必须立即处理 |
| crit | 严重错误 |
| err | 错误 |
| warning | 警告 |
| notice | 普通但重要 |
| info | 信息 |
| debug | 调试 |
journalctl -u nginx -f
journalctl --since "2024-03-15 10:00" --until "11:00"
journalctl -p err
Debian 日志 = 时间 + 主机 + 程序 + PID + 消息
新系统用journalctl,老文件看/var/log
如果你有具体某一行日志不知道怎么看,可以直接贴出来,我可以逐字段帮你解释。