温馨提示×

如何分析ubuntu syslog

小樊
60
2026-07-05 18:13:03
栏目: 智能运维

分析 Ubuntu 的 syslog 是排查系统问题(启动失败、服务异常、网络问题、硬件故障等)的关键技能。下面从 日志位置、查看方式、常用分析命令、典型场景 四个方面系统讲解。


一、Ubuntu syslog 在哪里?

Ubuntu 主要使用 rsyslog / journald 两种日志系统。

1️⃣ 传统 syslog 文件

/var/log/syslog        # 最常用(Ubuntu 默认)
/var/log/messages      # 某些版本或配置才有

2️⃣ systemd 日志(journal)

journalctl

✅ Ubuntu 16.04+ 默认 systemd + rsyslog 并存


二、实时查看 syslog(最常用)

1️⃣ 实时跟踪日志

tail -f /var/log/syslog

适合:

  • 服务启动失败
  • 网络断开
  • 硬件异常

2️⃣ 查看最新 N 行

tail -n 100 /var/log/syslog

三、使用 journalctl 分析(推荐)

1️⃣ 查看所有日志

journalctl

2️⃣ 实时查看

journalctl -f

3️⃣ 按时间过滤

journalctl --since "2025-01-01 08:00:00"
journalctl --since "10 min ago"

4️⃣ 查看某个服务的日志

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

✅ 非常常用,比 /var/log/syslog 更精准


5️⃣ 查看本次启动的日志

journalctl -b

查看上一次启动:

journalctl -b -1

四、syslog 日志结构解析

典型 syslog 一行示例:

Jan 10 10:23:01 ubuntu sshd[1234]: Accepted password for root from 192.168.1.10 port 22

字段含义:

字段 说明
Jan 10 10:23:01 时间
ubuntu 主机名
sshd 服务/进程
1234 PID
后续 日志内容

五、常用分析命令(实战)

1️⃣ 查找错误

grep -i error /var/log/syslog
grep -i fail /var/log/syslog

2️⃣ 查找某个服务

grep sshd /var/log/syslog

3️⃣ 查找某个 IP

grep 192.168.1.10 /var/log/syslog

4️⃣ 统计错误数量

grep -i error /var/log/syslog | wc -l

5️⃣ 按时间段查看

sed -n '/Jan 10 10:00/,/Jan 10 11:00/p' /var/log/syslog

六、常见分析场景

✅ 1. 系统启动失败

journalctl -xb

重点看:

  • red / error
  • failed to start

✅ 2. SSH 登录异常

journalctl -u ssh

常见关键词:

  • Failed password
  • Invalid user
  • Connection closed

✅ 3. 磁盘 / 硬件问题

dmesg | less
grep -i "disk\|error\|sda" /var/log/syslog

✅ 4. 网络问题

grep -i network /var/log/syslog
journalctl -u NetworkManager

七、日志轮转(防止爆盘)

Ubuntu 自动轮转日志:

/var/log/syslog
/var/log/syslog.1
/var/log/syslog.2.gz

查看配置:

cat /etc/logrotate.d/rsyslog

八、进阶建议

✅ 生产环境推荐:

  • journalctl -u 服务名
  • 配合 grep + 时间
  • 不要只看 syslog,结合 dmesg

✅ 安全分析:

grep -i "unauthorized\|denied\|refused" /var/log/syslog

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • 具体报错
  • 或贴一段 syslog

我可以 直接帮你定位问题

0