在 CentOS 中,/var/log/messages 是系统核心日志(包含内核、服务、通用系统消息),监控它有多种方式,取决于你是实时查看、长期监控还是自动告警。下面按使用场景给你系统讲解。
tail -f(最简单)tail -f /var/log/messages
✅ 适合:临时排查问题
❌ 不适合:长期监控
less(可搜索)less /var/log/messages
常用操作:
Shift + F:实时跟踪(类似 tail -f)/error:搜索 errorq:退出tail -f /var/log/messages | grep -iE "error|fail|warn"
tail -f /var/log/messages | grep --color -iE "error|fail|warn|critical"
CentOS 7 以后很多日志由 journald 管理,messages 可能不完整。
journalctl -f
journalctl -k -f
journalctl -u sshd -f
rsyslog 规则(高级)编辑 rsyslog 配置:
vim /etc/rsyslog.conf
或新建:
vim /etc/rsyslog.d/monitor.conf
示例(将 error 转发到单独文件):
:msg, contains, "error" /var/log/error.log
& stop
重启 rsyslog:
systemctl restart rsyslog
logwatch(自动日报)安装:
yum install logwatch -y
生成报告:
logwatch --detail high --range today
✅ 适合:每日自动邮件汇总日志
auditctl -w /var/log/messages -p rw -k messages_monitor
查看:
ausearch -k messages_monitor
| 关键词 | 含义 |
|---|---|
error |
一般错误 |
failed |
服务启动失败 |
OOM |
内存溢出 |
segfault |
程序崩溃 |
kernel: |
内核问题 |
refused |
连接被拒绝 |
systemctl status rsyslog
journalctl -xe
| 场景 | 推荐方式 |
|---|---|
| 临时排查 | tail -f |
| 长期观察 | journalctl -f |
| 告警 | logwatch / Zabbix |
| 安全 | auditd |
如果你能告诉我:
我可以给你 一套精准的监控方案(含脚本或告警规则)。