温馨提示×

Debian日志如何定位故障

小樊
62
2026-07-12 17:05:00
栏目: 智能运维

在 Debian 系统中,定位故障主要依赖 系统日志、服务日志和内核日志。下面从常用日志位置、关键命令、实战排查思路三个方面说明。


一、Debian 主要日志位置

1. 系统日志目录

/var/log/

常见文件:

文件 作用
/var/log/syslog 系统通用日志(服务、网络、应用)
/var/log/messages 部分系统消息(有些版本可能没有)
/var/log/kern.log 内核日志
/var/log/dmesg 内核启动信息
/var/log/auth.log 认证、SSH、sudo 相关
/var/log/boot.log 启动日志
/var/log/daemon.log 守护进程日志

Debian 默认使用 rsyslogsystemd-journald


二、使用 systemd 日志(最常见)

1. 查看所有日志

journalctl

2. 实时查看日志(类似 tail -f)

journalctl -f

3. 查看本次启动的日志

journalctl -b

4. 查看上一次启动的日志

journalctl -b -1

5. 查看某个服务的日志

journalctl -u nginx
journalctl -u ssh
journalctl -u docker

6. 按时间过滤

journalctl --since "2025-01-01 10:00" --until "2025-01-01 12:00"

7. 只看错误

journalctl -p err

三、常见故障定位方法

1️⃣ 系统无法启动

journalctl -xb

重点看:

  • failed
  • error
  • timeout
  • dependency

常见原因:

  • 磁盘挂载失败
  • 服务启动超时
  • fstab 配置错误

2️⃣ 服务启动失败

systemctl status 服务名
journalctl -u 服务名 --no-pager

示例:

systemctl status ssh
journalctl -u ssh

常见错误:

  • 端口被占用
  • 配置文件语法错误
  • 权限不足

3️⃣ 网络问题

journalctl -u NetworkManager
journalctl -u networking

或:

dmesg | grep eth
dmesg | grep link

4️⃣ 磁盘 / 文件系统问题

dmesg | grep -i error
dmesg | grep -i ext4

查看磁盘空间:

df -h
du -sh /*

5️⃣ SSH / 登录异常

less /var/log/auth.log

常见:

  • 暴力破解
  • 密钥权限错误
  • PAM 配置问题

6️⃣ 内核 / 硬件故障

dmesg
journalctl -k

关注:

  • OOM(内存耗尽)
  • CPU / 磁盘 / PCI 错误
  • 驱动加载失败

四、快速排查流程(推荐)

# 1. 看系统整体状态
systemctl --failed

# 2. 看最近错误
journalctl -p err -xb

# 3. 看具体服务
systemctl status xxx

# 4. 查看对应日志
journalctl -u xxx

# 5. 看硬件/内核
dmesg | tail -50

五、日志持久化(防止重启丢失)

默认 journal 可能只存内存中,建议开启:

mkdir -p /var/log/journal
systemctl restart systemd-journald

六、实用技巧

搜索关键字

journalctl | grep -i "failed"
journalctl | grep -i "error"

导出日志

journalctl -b > boot.log

如果你有具体故障场景(如:无法上网、SSH 连不上、系统卡死、Docker 起不来),可以直接贴日志,我可以帮你精准分析。

0