
一、日志是排障的"第一现场"
服务器出问题时间最怕"不知道发生了什么"。而Linux把所有发生的事都写进了日志——谁登录过、哪个服务崩了、内核出过什么错、启动卡在哪一步,基本都能从日志里找到答案。学会看日志,是服务器维护最基础的功夫。系统日志怎么看,本质是"知道日志在哪 + 知道怎么用命令筛选"两件事。
配置拿不准?电话直询工程师,1小时内出报价:13701218254(工作日9:00-18:00,也可在线留言)
二、日志放在哪:/var/log 下的关键文件
Linux日志绝大多数集中在 /var/log。常用文件和作用如下:
| 文件 | 记录内容 | 排障用途 |
|---|---|---|
| /var/log/messages | 系统总日志(多数发行版) | 各种服务/内核消息汇总 |
| /var/log/syslog | Ubuntu等系统日志 | 应用和系统消息 |
| /var/log/secure | 认证与登录安全日志(RHEL系) | 看谁尝试登录/爆破 |
| /var/log/auth.log | 认证与登录(Ubuntu系) | 同上 |
| /var/log/dmesg | 内核启动和底层消息 | 硬件/存储/驱动问题 |
另外 /var/log/boot.log 记启动过程,各应用日志常在 /var/log/ 下(如 nginx/nginx.log、mysql/error.log)。
三、最实用的命令:journalctl
现代Linux(systemd)用一个统一命令管日志,非常强大:
# 看最近的日志(带时间戳)
journalctl -n 200
# 实时滚动查看(像tail -f)
journalctl -f
# 只看某个服务(如nginx)
journalctl -u nginx
# 按时间范围
journalctl --since "2026-09-17 10:00" --until "2026-09-17 12:00"
# 按关键词
journalctl -k | grep -i error
journalctl 基本替代了老式的直接翻文件,是现在排障的默认入口。
四、老牌命令:tail / grep 翻文件
没有systemd的旧系统、或要看具体文件,用最经典的组合:
# 看最后50行
tail -50 /var/log/messages
# 实时跟着看
tail -f /var/log/messages
# 搜关键词(错误、警告)
grep -i "error" /var/log/messages
grep -iE "fail|fatal" /var/log/auth.log
排障时常用 tail -f 一边让问题复现一边盯日志,能看到现场报的错。
五、按场景查日志
不同问题去看不同的日志,效率最高:
- 开机启动卡住/起不来:看
journalctl -b(本次启动)和journalctl -b -1(上一次启动),对照正常/异常启动的日志差异;配合dmesg看硬件层。 - 网络/SSH登录被爆破:看
/var/log/secure或/var/log/auth.log,能看到一系列 Failed password 记录。 - 磁盘/文件系统异常:看
dmesg和/var/log/messages里的 I/O error、EXT4-fs error。 - 某个应用(数据库/Web)崩了:看对应服务日志和
journalctl -u 服务名,定位是哪一步报错。
六、日志管理提醒
顺手把日志基础打牢,避免以后翻不到:
- 日志要会轮转(logrotate),不然 /var/log 会越攒越大把磁盘占满。系统一般默认配好,多台服务器记得确认。
- 安全类日志(登录、认证)是发现入侵的第一证据,建议保留较长时间并定期备份。
- 排查时先看"最近的错误",时间对不上往往方向就偏了;日志时间若和本地不同步,先看时间是否对了。
一句话:Linux排障学会"journalctl + tail/grep + /var/log"这三招,绝大多数问题都能定位到线索。启动问题看boot和dmesg、登录问题看auth/secure、应用问题看服务日志,方向对了,答案往往就在日志里。这也是为什么服务器运维教科书都先说"先看日志"。
延伸阅读:

