下面这个命令很适合我们系统工程师去做日常排障操作,强烈推荐。

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

运行流程:

  1. 确认提示:程序会提示报告可能包含敏感信息,输入 y 继续。

  2. 个人信息:要求输入名字和 Case ID(提交给官方支持时使用),可直接按 Enter 跳过。

  3. 生成压缩包:扫描系统后,在 /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 配置、认证日志

  • 性能:vmstatiostatsar 输出

这些信息足够排查常见问题(磁盘满、服务异常、网络配置错误等)。更复杂的内核 Bug、驱动冲突或企业级插件输出,通常需要提交给厂商支持团队分析。

Copyright © https://yan-jian.com 2023 all right reserved更新时间: 2026-02-10 19:06:05

results matching ""

    No results matching ""