Linux服务器系统日志分析实操指南

为什么要分析Linux服务器系统日志

无论是新装的服务器还是运行多年的业务,系统日志都是最重要的排错线索。日志记录了内核、服务、登录、硬件等几乎一切状态变化。
当你遇到网站打不开、SSH连不上、磁盘报警时,第一个该去的地方就是日志。

准备工作:先确认能访问日志

  • 你至少需要一台Linux服务器(本文以CentOS 7/8、Ubuntu 20.04为例)
  • 拥有普通sudo权限或root权限(大部分日志默认只有管理员可看)
  • 确认systemd-journald工作正常:
systemctl status systemd-journald

如果没有运行,先启动:sudo systemctl start systemd-journald

三个最常用的日志查看方法

1. 最通用:/var/log/ 目录下的文件

传统的日志存储在/var/log/下,常见文件包括:

  • /var/log/messages(大多数系统消息,CentOS 6及更早版本)
  • /var/log/syslog(Ubuntu、Debian)
  • /var/log/secure(认证与安全日志)
  • /var/log/maillog(邮件服务)
  • /var/log/cron(计划任务)

查看最新50行:

sudo tail -50 /var/log/messages

实时跟踪新增日志:

sudo tail -f /var/log/messages

按关键词过滤:

sudo grep "error" /var/log/messages

结合less分页查看:

sudo less /var/log/messages

(按/输入关键词搜索,按n跳转下一个匹配)

2. 现代系统首选:journalctl

journald(systemd的日志组件)把日志集中管理,格式更友好。

查看所有日志:journalctl

查看本次启动以来的日志:

journalctl -b

只显示指定服务:

journalctl -u nginx.service

查看指定时间段的日志:

journalctl --since "2025-04-01 10:00:00" --until "2025-04-01 11:00:00"

实时跟踪(类似tail -f):

journalctl -f

3. 内核日志专用:dmesg

硬件、驱动、内核模块的信息通常用dmesg查看:

dmesg | less

查看最后20条:

dmesg | tail -20

过滤磁盘相关:

dmesg | grep -i sda

高频问题与解决思路

问题1:/var/log/messages 文件巨大,打不开

  • 原因:日志积累过多,未轮转。
  • 临时处理:用tail -200只看尾部,或grep配合时间范围。
  • 根本解决:检查logrotate配置(/etc/logrotate.conf和/etc/logrotate.d/),确认轮转周期并强制轮转:sudo logrotate -f /etc/logrotate.conf

问题2:journalctl 报错 “Cannot set file group: Operation not permitted”

  • 解决方案:当前用户没有权限。使用sudo journalctl即可。

问题3:SSH登录失败,想查原因

  • 查看/var/log/secure(或auth.log)中的Failed password记录:
sudo grep "Failed password" /var/log/secure
  • 或使用journalctl专门过滤sshd:
sudo journalctl -u sshd --since today | grep "Failed password"

避坑指南

  1. 时间同步很重要——日志时间是排查的基准。务必运行timedatectl set-ntp true,并用chronyc sources -v检查同步状态。
  2. 不要直接删除日志文件——直接rm会导致写日志的进程失去文件句柄,可能崩溃。正确做法是::> /var/log/messages(清空内容)或使用logrotate。
  3. 区分“系统日志”与“应用日志”——比如Nginx的错误日志在/var/log/nginx/error.log,MySQL在/var/log/mysql/error.log。系统日志只记录OS层面的问题,应用问题需要看各自日志。
  4. 日志太多时优先用grep -i error或journalctl -p err,只显示警告级别以上的消息,节省时间。

效果验证:确认刚才的操作有效

执行以下命令,验证你已掌握基础分析能力:

# 查看最近5次系统重启记录
last reboot | head -5

# 查看当前内核启动日志中是否有硬件错误
dmesg --level=err | tail -10

# 查看sshd服务昨天是否被爆破
sudo journalctl -u sshd --since yesterday --until today | grep "Failed password" | wc -l

如果输出数字不为0,说明你成功定位到了不安全登录尝试。
下一步可以配置Fail2ban或修改SSH端口来加固。

如果你正在处理Linux服务器系统日志分析,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
WordPress网站安全扫描全攻略:零基础也能排查风险
下一篇
手把手教你用Docker部署Registry私有镜像仓库
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意