插件窝 干货文章 如何在 Linux 系统中查看系统日志

如何在 Linux 系统中查看系统日志

日志 查看 log journalctl 464    来源:    2025-05-14

在 Linux 系统中查看系统日志主要通过以下几种方式,具体取决于发行版和日志管理系统:


1. 使用 journalctl(systemd 系统)

大多数现代 Linux 发行版(如 Ubuntu、CentOS 7+、Fedora)使用 systemd,日志由 journald 管理:

# 查看完整日志(按时间倒序)
journalctl

# 查看内核日志
journalctl -k

# 查看指定服务的日志(如 sshd)
journalctl -u sshd

# 实时跟踪最新日志(类似 tail -f)
journalctl -f

# 按时间筛选(如最近1小时)
journalctl --since "1 hour ago"

# 按优先级过滤(如仅显示错误)
journalctl -p err

2. 传统日志文件(syslog)

如果系统使用 rsyslogsyslog-ng,日志通常存储在 /var/log/ 目录下:

# 常见日志文件
/var/log/syslog       # 通用系统日志(Ubuntu/Debian)
/var/log/messages     # 通用系统日志(RHEL/CentOS)
/var/log/auth.log     # 认证相关日志(如 SSH 登录)
/var/log/kern.log     # 内核日志
/var/log/boot.log     # 系统启动日志

# 使用 cat/less/tail 查看
tail -f /var/log/syslog       # 实时跟踪
less /var/log/auth.log        # 分页查看

3. 使用 dmesg 查看内核日志

# 查看内核环形缓冲区日志(硬件、驱动相关)
dmesg

# 实时监控新内核消息
dmesg -w

4. 特定服务日志

某些服务(如 Apache、Nginx)有独立的日志文件:

# Web 服务器日志示例
/var/log/nginx/access.log
/var/log/apache2/error.log

5. 日志轮转管理

日志文件会被 logrotate 自动归档,可通过以下方式查看历史日志:

ls /var/log/             # 查看归档日志(如 syslog.1.gz)
zcat /var/log/syslog.1.gz  # 解压查看压缩日志

6. 图形化工具(可选)

  • GNOME Logs: 适用于桌面环境。
  • KSystemLog: KDE 环境的日志查看器。

常用组合命令

# 筛选包含关键字的日志(如 "error")
journalctl | grep -i error
grep -i error /var/log/syslog

# 查看日志占用的磁盘空间
du -sh /var/log/

注意事项

  • 需要 root 权限查看某些日志(如 /var/log/secure)。
  • 日志文件可能因发行版不同而路径略有差异。
  • 长期日志需配置日志轮转(logrotate)避免磁盘占满。

根据你的具体需求选择合适的方法,排查问题时建议优先使用 journalctl 或检查 /var/log/ 下的相关文件。