在 Linux 系统中,“异常日志”通常指系统错误、服务崩溃、内核异常、登录失败、资源耗尽等问题的记录。下面按思路 → 工具 → 常见位置 → 实战命令给你一个清晰指南。
不同 Linux 发行版日志方式不同:
| 系统 | 日志方式 |
|---|---|
| CentOS 6 / 老系统 | /var/log + rsyslog |
| CentOS 7+ / Ubuntu | systemd-journald + /var/log |
| 容器环境 | 可能只有 stdout/stderr |
适用于 systemd 系统(绝大多数现代 Linux)
journalctl -p err -xb
-p err:只显示 error 及以上-x:显示说明-b:本次启动journalctl -u nginx -p err
journalctl -u docker.service --since "1 hour ago"
journalctl -f -p warning
即使有 systemd,这些仍然很有用:
/var/log/messages # CentOS 系统日志
/var/log/syslog # Ubuntu 系统日志
/var/log/dmesg # 内核启动信息
/var/log/secure # 登录、认证(暴力破解)
/var/log/kern.log # 内核错误
/var/log/cron # 定时任务异常
grep -iE "error|fail|timeout|panic|denied" /var/log/messages
dmesg | grep -i error
dmesg -T | tail -50
dmesg | grep -i "out of memory"
systemctl status nginx
journalctl -xe
systemctl show nginx -p Result
grep "Failed password" /var/log/secure
lastb # 失败登录
last # 成功登录
虽然不算“日志”,但常一起看:
top
df -h
free -h
iostat -x 1
journalctl -p err -xb | tail -100
echo "---- /var/log ----"
grep -iE "error|fail" /var/log/messages 2>/dev/null | tail -50
| 异常现象 | 查哪里 |
|---|---|
| 系统卡死 | dmesg, journalctl -p err |
| 服务起不来 | journalctl -u 服务名 |
| 网络异常 | /var/log/messages, dmesg |
| 被攻击 | /var/log/secure |
| 磁盘满 | df -h, /var/log |
如果你愿意,可以告诉我:
我可以直接给你精确命令。