sos 是什么
sos 是 RHEL 系与信创发行版上的诊断信息收集工具,命令形式为 sos report。它按插件扫描系统,把配置文件、日志、硬件信息、内核参数与已安装包清单打成一个压缩包,用于向厂商报障或做内部故障复盘。相比手工 tar 一堆目录,sos 会自动对疑似口令字段做处理、附带一份清单文件,接收方定位问题更快。它只收集不修改系统,属于安全操作。
基本信息
| 适用平台 | RHEL/CentOS/openEuler/银河麒麟/统信 UOS 等 rpm 系 |
|---|---|
| 软件包 | sos(部分版本预装,无则 dnf install sos) |
| 输出位置 | 默认 /var/tmp/sosreport-*.tar.xz |
| 权限要求 | root,否则关键配置与日志读不到 |
| 典型耗时 | 分钟级,取决于日志体积与插件数量 |
典型使用场景
- 向厂商报障:按工单号收集一份完整报告,避免来回索要日志
- 故障复盘:事后保留现场快照,便于对比变更前后的配置差异
- 批量巡检留档:定期收集关键服务器报告,作为基线变化依据
- 敏感环境按需裁剪:只用网络与日志插件,缩小报告体积与信息面
- 离线交付:压缩包可跨网传递,内网机器也能带出诊断材料
收集命令
收集命令
dnf install -y sos # 未预装时先安装
sos report --batch --case-id=12345678 # 非交互收集并关联工单号
sos report --only-plugins=networking,logs # 只跑指定插件,缩小范围
sos report --skip-plugins=filesys # 跳过体积大或无关的插件
ls -lh /var/tmp/sosreport-*.tar.xz # 确认产物与体积
tar -tf /var/tmp/sosreport-*.tar.xz | head # 不解包先看内容清单常用参数读法
| 参数 | 作用 | 说明 |
|---|---|---|
| --batch | 全程非交互 | 自动回答确认问题,适合脚本 |
| --case-id= | 关联问题编号 | 文件名带编号,厂商侧好归档 |
| --only-plugins= | 只运行指定插件 | 插件名之间用逗号分隔 |
| --skip-plugins= | 排除指定插件 | 跳过体积大或含敏感内容的插件 |
| --tmp-dir= | 指定收集目录 | 空间紧张时指向大分区,避免 /var 写满 |
| --all-logs | 收集被策略默认跳过的日志 | 体积明显增大,按需使用 |
报告包含主机名、IP、挂载与配置片段,属内部资料;跨网传递前按本单位流程脱敏或用 --skip-plugins 控制范围。
麒麟与 UOS 的部分版本仓库里没有 sos 包,先 dnf search sos 确认;确实没有时按厂商支持流程手工打包 /var/log 与关键配置文件。