Ubuntu 中如何查看系统日志(syslog)?

Ubuntu 系统日志在 /var/log/syslog,用 cat/tail/grep/journalctl 查看。本文介绍查看方法、常用过滤技巧及 /var/log 下其他重要日志文件。

最佳实践
Ubuntu 中如何查看系统日志(syslog)?封面

Ubuntu 的主系统日志是 /var/log/syslog,用 tail -f /var/log/syslog 实时跟踪,或 grep 关键词 /var/log/syslog 过滤。systemd 系统也可以用 journalctl 查看。

基本查看命令

# 实时跟踪最新日志
tail -f /var/log/syslog

# 查看最近 100 行
tail -n 100 /var/log/syslog

# 搜索关键词
grep "error" /var/log/syslog
grep "ssh" /var/log/syslog

# 分页浏览
less /var/log/syslog    # 按 / 搜索,q 退出

journalctl 方式(更现代)

journalctl                     # 全部日志
journalctl -n 100              # 最近 100 行
journalctl -f                  # 实时跟踪
journalctl -u nginx            # 只看某个服务
journalctl --since "1 hour ago"  # 按时间过滤
journalctl -p err              # 只看错误级别

/var/log 下的其他重要日志

文件 内容
/var/log/syslog 系统主日志
/var/log/auth.log 认证/登录/sudo
/var/log/kern.log 内核消息
/var/log/dmesg 启动硬件信息
/var/log/apt/ 软件包安装记录
/var/log/nginx/ Nginx 访问/错误日志

注意 RHEL/CentOS 的主日志是 /var/log/messages(不是 syslog)。

观测云对照

逐台服务器 SSH 上去翻 syslog 效率低。观测云 DataKit 可以采集 syslog 到平台,多台机器的系统日志统一检索,还能配置关键字告警(如出现 OOM、磁盘错误时通知)。

常见问题(FAQ)

Q:syslog 文件很大怎么快速看?
A:用 grep 先过滤、tail 看末尾、less 分页;老日志在 syslog.1、syslog.2.gz 等轮转文件中(zgrep 可以直接搜压缩文件)。

Q:日志里的时间是什么时区?
A:系统本地时区。timedatectl 查看当前系统时区设置。

Q:没有权限读 syslog?
A:日志默认属于 syslog:adm 组,把用户加进 adm 组(sudo usermod -aG adm 用户名)或用 sudo。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台