分析 Linux 系统日志是排查故障、监控系统状态和安全审计的重要手段。下面从日志种类、查看工具、分析思路、常用命令和实战示例几个方面系统说明。
大多在 /var/log 下:
| 日志文件 | 说明 |
|---|---|
/var/log/messages |
系统通用日志(RHEL/CentOS) |
/var/log/syslog |
系统通用日志(Debian/Ubuntu) |
/var/log/dmesg |
内核启动信息 |
/var/log/secure |
认证和安全日志(SSH、sudo) |
/var/log/auth.log |
认证日志(Debian 系) |
/var/log/boot.log |
启动过程日志 |
/var/log/cron |
定时任务日志 |
/var/log/kern.log |
内核日志 |
/var/log/yum.log |
软件安装记录 |
现代 Linux 使用 systemd,日志由 journald 管理:
/run/log/journal/
cat /var/log/messages
less /var/log/syslog
tail -f /var/log/secure # 实时查看
head -n 50 /var/log/cron
grep "error" /var/log/syslog
grep "Failed password" /var/log/secure
journalctl # 全部日志
journalctl -xe # 最近错误
journalctl -u nginx # 某服务
journalctl --since "2024-01-01" --until "2024-01-02"
journalctl -p err # 只显示错误
logwatch:日报形式汇总rsyslog / syslog-ng:日志转发ELK(Elasticsearch + Logstash + Kibana)Graylog、Splunkdmesg | tail
journalctl -k
grep "Failed password" /var/log/secure
grep "Accepted password" /var/log/secure
关注:
journalctl -u docker -xe
systemctl status nginx
grep "No space left" /var/log/messages
df -h
grep "error" /var/log/syslog | wc -l
ls -ltr /var/log/
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
/etc/logrotate.conf
logrotate -d /etc/logrotate.conf
tail -n 100 /var/log/secure
Failed passwordiptables -A INPUT -s 1.2.3.4 -j DROP
tail + grep 初筛journalctl 看上下文如果你有具体日志内容或某种故障场景(如 CPU 高、服务挂掉、被攻击),可以把日志贴出来,我可以帮你逐行分析。