下面这个命令很适合我们系统工程师去做日常排障操作,强烈推荐。
sosreport(在很多系统中已更名为 sos report)是 Linux 系统管理员用来收集系统配置、日志和诊断信息的工具。它通常用于向技术支持(如 Red Hat 或 Ubuntu)提供故障排查依据。
安装方式
RHEL / CentOS / Fedora / AlmaLinux
sudo dnf install sos
Ubuntu / Debian
sudo apt install sosreport
基础用法
生成报告最简单的方式:
sudo sos report
在旧版本中命令是
sosreport,新版本推荐使用sos report。
运行流程:
确认提示:程序会提示报告可能包含敏感信息,输入
y继续。个人信息:要求输入名字和 Case ID(提交给官方支持时使用),可直接按 Enter 跳过。
生成压缩包:扫描系统后,在
/var/tmp/目录下生成.tar.xz格式的压缩文件。
常用参数
| 参数 | 说明 |
|---|---|
--batch |
全自动化模式,不再询问名字和 Case ID,直接生成报告。 |
--case-id |
指定工单编号,方便支持人员查找。 |
--list-plugins |
列出所有可用插件及其状态。 |
-n, --only-plugins |
只运行指定插件,例如 -n cpu,memory。 |
-e, --enable-plugins |
启用默认关闭的插件。 |
--skip-plugins |
跳过某些插件的扫描。 |
--clean |
隐私模式,自动对敏感数据(如 IP、用户名)进行脱敏。 |
--tmp-dir |
指定报告存储目录(默认 /var/tmp/)。 |
典型场景示例
快速生成并跳过所有询问
sudo sos report --batch
针对特定问题(如网络故障)
sudo sos report --only-plugins network,iscsi,nfs
处理敏感数据
sudo sos report --clean
查看报告
报告是压缩包,需要解压后查看:
ls /var/tmp/sosreport-*.tar.xz
tar -xf /var/tmp/sosreport-xxxxx.tar.xz
cd sosreport-xxxxx
解压后的目录中通常包含一个 sos.html 文件,可用浏览器打开,也可直接查看 var/log/ 下的日志。
注意事项
必须使用 root 权限执行,否则无法收集完整信息。
报告不会包含密码,但可能包含主机名、用户列表等。
生成报告可能消耗一定的 CPU 和磁盘空间。
如果磁盘空间不足,建议先清理空间或指定输出目录到外部磁盘。
系统管理员常见可分析内容
日志:
/var/log/messages、/var/log/syslog、/var/log/dmesg配置:网络设置、防火墙规则、已安装软件包列表
资源:CPU、内存、磁盘使用率、挂载点
安全:用户与组信息、sudo 配置、认证日志
性能:
vmstat、iostat、sar输出
这些信息足够排查常见问题(磁盘满、服务异常、网络配置错误等)。更复杂的内核 Bug、驱动冲突或企业级插件输出,通常需要提交给厂商支持团队分析。