首页/系统/Linux 运维命令速查/sosreport 一键收集诊断信息
性能与监控48 条

sosreport 一键收集诊断信息

红帽系故障升级前的标准动作:sosreport 打包系统配置、日志、命令输出,脱敏后给厂商/团队分析。

Linux 运维命令速查系统更新于 2026-10-13

sosreport 一键收现场

遇到难以定位的系统级问题需要向厂商或团队求助时,零散地一条条要日志效率很低。sosreport 会把系统配置、软件包清单、关键命令输出与日志打包成一份报告,附带校验值,对方拿到后就能完整还原现场。它是红帽系故障升级前的标准动作,也可按模块裁剪收集范围。

基本信息

适用平台RHEL 系(sos 包),Debian 系有对应工具
命令形式sos report 或 sosreport,-batch 非交互收集
常用选项-o 指定模块、-k 传插件参数、--case-id 关联工单
输出形式打包为压缩文件,默认写入临时目录并校验

典型使用场景

  • 系统级故障需要厂商支持,先备齐现场再提工单
  • 内核崩溃、存储异常等难以复现的问题,收集完整信息一次性提交
  • 批量排查同类问题时,多台机器各收一份便于横向对比
  • 合规或审计要求留存某时刻的系统状态快照
  • 变更前后各收一份,用于对比配置漂移

常用示例

常用示例
sudo sos report --batch                # 非交互收集全部默认模块
sudo sos report -o process,networking  # 只收集指定模块,包更小
sudo sos report --case-id 12345678     # 关联工单号,便于对方归档
sudo sos report -o logs --all-logs     # 带上日志模块并收集完整日志
ls -lh /var/tmp/sosreport-*.tar.xz     # 检查产物大小与位置
sudo sos clean ./sosreport-xxx.tar.xz  # 对报告做脱敏后再外发

收集内容概览

类别内容用途
系统信息发行版版本、内核版本、运行时间判断环境与已知缺陷匹配性
配置各服务配置文件、内核参数对比标准配置找差异
日志系统日志与常见服务日志还原故障时间线
运行时进程、网络、磁盘、内存状态分析资源与连接异常
软件包已安装包清单核对版本与补丁级别
报告里包含主机名、网络配置、部分日志,可能夹带敏感信息,外发前务必审查并做脱敏处理,同时注意文件的访问权限。

使用建议

  • 收集前先确认目标磁盘有足够余量,报告可能占几百 MB 甚至更多
  • 尽量在故障现场保留时收集,重启后很多状态无法还原
  • 按模块裁剪内容,避免把无关的大日志一起打包
  • 提交工单时附上收集时间与现象描述,对方定位更快
  • 把报告与工单号一起归档,后续复盘还能查到原始现场
收集过程会遍历大量文件并读取日志,对 IO 有一定压力;在负载本就很高的机器上,建议先确认影响再执行。

易错点

  • 生成过程占用空间与 IO,日志量大的机器上先确认临时目录容量
  • 收集本身会读取大量文件,在故障机上可能进一步加重负载,安排时避开业务高峰
  • 报告默认权限较严格,交接时把文件复制到公共位置容易造成信息泄露
  • 不带工单号与现象说明直接发报告,对方需要反复追问,反而拖慢定位

数据来源与参考

  • Red Hat 知识库:sosreport 指南
  • man 1 sos

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌