在 CentOS(以及大多数 Linux 发行版)里,/var/log/messages(或 systemd 下的 journalctl)是定位系统故障非常重要的入口。下面按“从哪看 → 怎么看 → 常见故障怎么定位”给你一个实用指南。
/var/log/messages
查看:
tail -f /var/log/messages
less /var/log/messages
grep error /var/log/messages
日志由 systemd-journald 管理:
journalctl
journalctl -xe
journalctl -f
如果仍写文件(rsyslog 开启):
/var/log/messages
tail -f /var/log/messages
# 或
journalctl -f
grep -i error /var/log/messages
grep -i fail /var/log/messages
journalctl -p err
journalctl --since "2024-01-01 10:00" --until "2024-01-01 11:00"
journalctl -u nginx
journalctl -u sshd
journalctl -xb
重点看:
failedtimeoutdependencysystemctl status xxx
journalctl -u xxx -xe
常见关键词:
Permission deniedAddress already in useExecStart failedgrep -i network /var/log/messages
journalctl -u NetworkManager
看:
link downDHCP failedNo routegrep -i "error\|fail\|read-only" /var/log/messages
典型问题:
I/O errorremounting filesystem read-onlydisk fullgrep -i "out of memory" /var/log/messages
journalctl | grep -i oom
dmesg | tail
journalctl -k
看:
CPUPCIkernel panic# 1. 先看最近错误
journalctl -p err -xe
# 2. 看服务
systemctl status 故障服务
# 3. 看 messages
tail -n 200 /var/log/messages | grep -i error
# 4. 看内核
dmesg | tail
如果你愿意,可以告诉我:
我可以直接帮你逐行分析 message 日志。