在 CentOS(以及大多数 Linux 系统)里,message 通常指的是 /var/log/messages 这个系统日志文件。下面我从文件位置、内容格式、查看方式、常见字段含义、解析方法几个方面说明。
/var/log/messages 是什么/var/log/messages 是 系统级日志,由 rsyslog 或 syslog 服务记录,包含:
⚠️ CentOS 7 以后,有些日志已迁移到
journalctl,但messages仍然常用。
tail -f /var/log/messages
tail -n 100 /var/log/messages
less /var/log/messages
tac /var/log/messages | less
典型一行格式如下:
Jun 12 10:23:45 localhost sshd[1234]: Accepted password for root from 192.168.1.10 port 54321 ssh2
| 字段 | 说明 |
|---|---|
Jun 12 10:23:45 |
时间(月 日 时:分:秒) |
localhost |
主机名 |
sshd |
服务/进程名 |
[1234] |
进程 PID |
| 后面的内容 | 具体日志信息 |
sshd[1234]: Accepted password for root from 192.168.1.10
✅ 成功登录
sshd[1234]: Failed password for root from 192.168.1.10
❌ 登录失败(可能是暴力破解)
kernel: eth0: link up
网卡连接
kernel: Out of memory: Kill process 1234
内存不足,系统杀进程
crond[1234]: (root) CMD (/usr/bin/backup.sh)
root 执行了 backup.sh
smartd[1234]: Device: /dev/sda, FAILED SMART self-check
硬盘可能快坏了
grep "error" /var/log/messages
grep "ssh" /var/log/messages
grep "Jun 12 10:" /var/log/messages
grep "Failed password" /var/log/messages | wc -l
awk '{print $1, $2, $3, $5}' /var/log/messages
journalctl -xe
journalctl -u sshd
journalctl --since "2024-06-12 10:00:00"
messages 会自动轮转:
/var/log/messages/var/log/messages-20240612/var/log/messages-20240605.gz查看旧日志:
zcat /var/log/messages-*.gz | less
如果你有 具体的 message 日志内容,可以直接贴出来,我可以帮你逐行分析是什么原因。