supportconfig 是 SUSE/openSUSE 官方提供的系統信息收集工具,能一鍵採集硬件、內核、服務、日誌、配置、RPM 數據庫等數百項信息,打包為壓縮包供技術支持分析。本文詳細說明安裝、參數詳解、常用場景與輸出解讀。
# 直接從源安裝
zypper install supportutils
# 或下載 RPM 手動安裝
zypper install supportutils-*.rpm
# 舊版本包名可能為 supportconfig
rpm -ql supportutils
# 關鍵文件:
# /sbin/supportconfig # 主程序
# /etc/supportconfig.conf # 配置文件
# /usr/bin/schealth # 健康檢查工具
# /usr/share/man/man8/supportconfig.8.gz
| 參數 | 功能 | 常用場景 |
|---|---|---|
-A | 全量採集(含 RPM 驗證、詳細日誌) | 提交 Service Request 完整包 |
-m | 最小採集(基礎環境、硬件、健康、RPM、messages、y2log) | 快速排查、帶寬受限 |
-i keywords | 包含指定特征關鍵字(用 -F 查看列表) | 針對性採集(如僅網絡、存儲) |
-x keywords | 排除指定特征 | 跳過耗時項(如 eDirectory、完整文件列表) |
-R path | 指定輸出目錄(默認 /var/log) | 磁盤空間不足時指定大分區 |
-U URI | 上傳至 FTP/SCP/HTTP/HTTPS | 直接提交給廠商支持門戶 |
-r srnum | 關聯 Service Request 編號 | 廠商工單綁定 |
-g | 使用 gzip 而非 bzip2 | 壓縮速度優先 |
-Q | 靜默模式 | 腳本調用 |
-C | 生成默認配置文件 | 首次部署初始化 |
supportconfig -A
# 輸出:/var/log/nts_hostname_YYYYMMDD_HHMM.tbz
# 及校驗文件:.tbz.md5
supportconfig -m
supportconfig -i network,storage,kernel
supportconfig -x edirectory,files,rpmv
supportconfig -R /data/support -U "sftp://user:pass@support.example.com/incoming" -r "SR12345678901"
# 常用配置項
VAR_OPTION_UPLOAD_TARGET="sftp://user:pass@support.example.com/incoming"
VAR_OPTION_UPLOAD_ALT="ftp://backup:pass@backup.example.com/support"
CONTACT_EMAIL="admin@example.com"
CONTACT_NAME="Linux Admin"
CONTACT_COMPANY="My Company"
解壓後目錄結構:
nts_hostname_20250115_1430/
├── basic-environment.txt # 環境變量、內核參數、模塊
├── basic-health-check.txt # 磁盤、內存、CPU、網絡狀態
├── rpm-database.txt # 所有 RPM 包列表及驗證狀態
├── messages.txt # /var/log/messages 最近內容
├── y2logs/ # YaST 安裝/配置日誌
├── proc/ # /proc 文件系統快照
├── boot/ # 引導配置、內核參數
├── crash/ # kdump 崩潰轉儲(如有)
├── network/ # 網絡接口、路由、防火牆、連接
├── storage/ # 磁盤、LVM、RAID、多路徑、掛載點
├── slp/ # SLP 服務發現
├── updates/ # 补丁更新狀態
└── plugins/ # 第三方插件收集
# 快速健康評分
schealth
# 輸出示例:
# Overall Health: 95% (Good)
# - CPU: 100%
# - Memory: 90%
# - Disk: 95%
# - Network: 100%
# - Services: 95%
# - Security: 100%
| 問題 | 解決 |
|---|---|
| 執行卡住、耗時過長 | 加 -x files,edirectory 跳過全盤掃描與 eDirectory;Ctrl+C 嘗試跳過當前模塊 |
| 輸出包過大(>2GB) | 使用 -g 啟用 gzip;或 -m 最小模式;或 -R 指向大分區 |
| 權限不足無法讀取某些文件 | 務必用 root 執行;檢查 SELinux/AppArmor 是否阻攔 |
| 上傳失敗 | 檢查防火牆、代理、目標存儲空間;改用手動 scp/rsync 上傳 .tbz 文件 |
yum install sos; sosreportdmesg、journalctl、ss、ip、lsof、ps 等標準工具組合supportconfig 是 SUSE 生態系統故障排查的「核磁共振」,善用 -A 全量包配合 -x 排除耗時項,能在最短時間內為廠商工程師提供完整現場上下文,大幅縮短 MTTR(平均修復時間)。