温馨提示×

如何读取linux syslog

小樊
35
2026-07-29 20:36:08
栏目: 智能运维

在 Linux 中,syslog 是系统日志的核心机制,读取方式取决于你使用的发行版、日志服务(rsyslog / syslog-ng / journald)以及日志格式。下面按最常见场景系统说明。


一、常见 syslog 文件位置

大多数 Linux 系统(使用 rsyslog)日志位于 /var/log/

/var/log/syslog        # Debian / Ubuntu(系统日志)
/var/log/messages      # RHEL / CentOS / Rocky / Alma(系统日志)
/var/log/kern.log      # 内核日志
/var/log/auth.log      # 认证相关(Debian/Ubuntu)
/var/log/secure        # 认证相关(RHEL/CentOS)

二、直接读取 syslog 文件

1️⃣ 使用 cat

cat /var/log/syslog

2️⃣ 使用 less(推荐)

less /var/log/syslog
  • 上下翻页
  • /关键词 搜索
  • q 退出

3️⃣ 使用 tail(实时查看)

tail -f /var/log/syslog

查看最后 100 行:

tail -n 100 /var/log/syslog

三、过滤 syslog 内容

1️⃣ 使用 grep

grep "error" /var/log/syslog
grep -i "failed" /var/log/syslog

按时间过滤:

grep "2026-01-21" /var/log/syslog

2️⃣ 查看某服务日志

grep sshd /var/log/syslog

四、如果系统使用 systemd(journald)

现代 Linux(CentOS 7+、Ubuntu 16+、Rocky、Debian 9+)通常使用 journald

1️⃣ 查看所有日志

journalctl

2️⃣ 实时查看

journalctl -f

3️⃣ 查看本次启动日志

journalctl -b

4️⃣ 查看某服务日志

journalctl -u sshd
journalctl -u nginx

5️⃣ 按时间查看

journalctl --since "2026-01-21 10:00" --until "2026-01-21 12:00"

6️⃣ 查看内核日志

journalctl -k

五、查看内核日志(不依赖 syslog)

dmesg
dmesg | less
dmesg | grep eth

六、权限问题

很多日志需要 root 权限

sudo less /var/log/syslog
sudo journalctl

七、常见日志对应关系速查

系统 主系统日志
Ubuntu / Debian /var/log/syslog
RHEL / CentOS /var/log/messages
systemd 系统 journalctl

八、示例:排查 SSH 登录失败

方法 1(rsyslog)

grep sshd /var/log/auth.log

方法 2(systemd)

journalctl -u sshd | grep Failed

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

  • ✅ 你的 Linux 发行版
  • ✅ 是否是服务器 / 容器
  • ✅ 想查哪类日志(网络 / 内核 / 服务 / 登录)

我可以给你更精确的命令示例

0