linux中supportconfig安裝與使用方法
由於工作原因,平時需要suse的工程師做二線技術支援,除了經常會提交kdump分析的結果給suse 工程師定位根因,而在沒有kdump生成時,經常會用的指令就是supportconfig收集系統資訊,其收集內容基本涵蓋了核心、模組、系統、服務等幾乎所有我們能想到的資訊,另外還會出一份簡單的health check報告,其除了適用於suse企業版外,同樣在opensuse上也可以使用,本篇就結合現網使用的場景對supportconfig命令做一個簡單的概括.
一、supportconfig的安裝
可以通過yast進行安裝,也可以通過zypper命令進行安裝,安裝命令如下.
直接使用源進行安裝,程式碼如下:#zypper install supportutils
也可以將rpm包下載下來使用yast進行安裝或者在yast的管理介面裡查詢安裝:
#yast install supportutils-xxx.rpm
注:根據系統的版本不同,包名也可能是supportconfig.
安裝完成後可以使用rpm -ql supportutils 檢視包中具體包含的檔案資訊,如下:
- # rpm -ql supportutils
- /etc/schealth.conf
- /etc/supportconfig.conf
- /sbin/chkbin
- /sbin/supportconfig
- /usr/bin/schealth
- /usr/share/man/man5/supportconfig.conf.5.gz
- /usr/share/man/man8/chkbin.8.gz
- /usr/share/man/man8/supportconfig.8.gz
注:上面的結果是在 suse11 sp1企業版上的測試的結果,在opensuse 13上目錄結構會略有不同,其上使用的是新版本的supportconfig.
二、supportconfig用法
以下是supportconfig的幫助輸出,程式碼如下:
- # supportconfig -h
- =============================================================================
- Support Utilities - Supportconfig
- Script Version: 2.25-197
- Script Date: 2010 04 02
- =============================================================================
- Usage: supportconfig [OPTION [OPTION ...]]
- -h This screen
- -A Activates all supportconfig functions with additional logging and full
- rpm verification.
- -B <string> Custom tar ball file name element
- -C Creates a new default /etc/supportconfig.conf
- -D Use defaults; ignore /etc/supportconfig.conf
- -E <string> Contact email address
- -F Display available supportconfig feature keywords (case-sensitive) used
- with -i and -x
- -G <gpg_uid> The GPG recipient's user ID used to encrypt the supportconfig tarball
- -H <number> Limit number of included HA Policy engine files
- -I <number> Default log file line count
- -L Create a full file listing from '/'
- -M <string> Contact terminal ID
- -N <string> Contact name
- -O <string> Contact company name
- -P <string> Contact phone number
- -Q Run in silent mode
- -R <path> Log output directory
- -S <number> Limit number of included SAR files
- -T <seconds> Binary execution timeout
- -U <URI string> Sets upload target URL and initiates an upload, supported
- services include: ftp, scp, http, https
- -M <string> Contact store ID
- -X <number> Max system logs line count
- -a Upload the tar ball to the specified alternate target VAR_OPTION_UPLOAD_ALT
- -b Screen buffer mode
- -d Exclude detailed disk info and scans
- -e Search root file system for eDirectory instances; -L implied. Be patient.
- -f From directory. Don't collect report files, just use files in that
- directory.
- -g Use gzip instead of the default bzip2 compression.
- -i <keyword list>
- Include keywords. A comma separated list of feature keywords that specify
- which features to include. Use -F to see a list of valid keywords.
- -l Gathers additional rotated logs
- -m Only gather a minimum amount of info: basic env, basic health, hardware,
- rpm, messages, y2logs
- -o Toggle listed features on or off
- -p Disable all plugins
- -q Add a uuid to the tar ball filename to ensure uniqueness
- -r <srnum>
- Includes the Novell 11 digit service request number when uploading
- the tar ball to Novell
- -s Include full SLP service lists
- -t Target directory. Just save log files here, do not create tarball.
- -u Upload the tar ball to the specified VAR_OPTION_UPLOAD_TARGET.
- -v Performs an rpm -V for each installed rpm NOTE: This takes a long time
- to complete
- -x <keyword list>
- Exclude keywords. A comma separated list of feature keywords that specify
- which features to exclude. Use -F to see a list of valid keywords.
- -y Only gather the minimum y2log files.
- Use Ctrl- to try and skip a function that is hanging.
- -----------------------------------------------------------------------------
- NOTE:
- This tool will create a tar ball in the /var/log directory. Please attach
- the log file tar ball to your open Service. Request at the following URL:
- https://secure-support.novell.com/eService_enu
- If you cannot attach the tar ball to the SR, then email it to the engineer.
- Please submit bug fixes or comments via:
- http://en.opensuse.org/Supportutils#Reporting_Bugs
- =============================================================================
- Support Utilities - Supportconfig
- Script Version: 2.25-197
- Script Date: 2010 04 02
- =============================================================================
預設supportconfig或supportconfig -A執行後會將收集後的結果打包為一個nts_主機名_日期.tbz 檔案,同時會生成一個以該檔名加.md5字尾的檔案.
三、supportconfig常用示例
1、supportconfig -A 收集所有日誌,程式碼如下:
- # supportconfig
- =============================================================================
- Support Utilities - Supportconfig
- Script Version: 2.25-290
- Script Date: 2011 07 14
- =============================================================================
- Gathering system information
- Data Directory: /var/log/nts_361way.com_140825_1504
- Basic Server Health Check... Done
- RPM Database... Done
- Basic Environment... Done
- Basic Health Report... Done
- System Modules... Done
- Memory Details... Done
- Disk I/O... Done
- YaST Files... Done
- Auditing... Done
- Crash Info... Done
- NTP... Done
- PROC... Done
- Boot Files... Done
- SLERT... Skipped
- Updates... Done
- SMT... Skipped
- Novell eDirectory... Please Wait... Skipped
- Novell LUM... Skipped
- Novell NCP... Skipped
- Novell NSS... Skipped
- Novell DFS... Skipped
- Novell SMS... Skipped
- Novell NCS... Skipped
- Novell AFP... Skipped
- Novell CIFS... Skipped
- Novell iManager... Skipped
- HA Cluster... Skipped
- OCFS2... Skipped
- DRBD... Skipped
- PAM... Done
- LDAP... Done
- CIMOM... Done
- Open Files... Done
- Environment... Done
- ETC... Done
- SYSCONFIG... Done
- SYSFS... Done
- System Daemons... Done
- CRON... Done
- AT... Done
- UDEV... Done
- LVM... Please Wait... Base Detail Done
- EVMS... Skipped
- Software Raid... Done
- Multipathing... Done
- Networking... Done
- Web... Done
- InfiniBand... Done
- DNS... Done
- DHCP... Done
- SLP... Done
- SSH... Done
- iSCSI... Done
- Samba... Done
- NFS... Done
- AUTOFS... Done
- SAR Files... Done
- AppArmor... Done
- Xen... Done
- KVM... Done
- X... Done
- Printing... Done
- SMART Disks... Excluded
- Hardware... Please Wait... Done
- File System List... Skipped
- Supportability Analysis... Please Wait... Done
- System Logs... Done
- Creating Tar Ball
- ==[ DONE ]===================================================================
- Log file tar ball: /var/log/nts_361way.com_140825_1504.tbz
- Log file size: 4.0M
- Log file md5sum: 484b111cda54ca04419facd82a1da7d7
- Please attach the log file tar ball to your open Service Request at the
- following URL:
- https://secure-support.novell.com/eService_enu
- You can also upload the tar ball to ftp.novell.com/incoming, or just use
- supportconfig -ur <srnum>, to upload the tar ball automatically.
- If you cannot attach the tar ball to the SR, then email it to the engineer.
- =============================================================================
其他常用用法:
- //以最小選項蒐集所需的資訊
- # supportconfig -m
- //在輸出中包含附加的聯絡人資訊
- # supportconfig -E [email protected] -N "Tux Penguin" -O "Penguin Inc." ...
- //要檢視完整的功能列表
- # supportconfig -F
- //僅收集某個模組的用法,如LVM相的資訊
- # supportconfig -i LVM
- //-x 的功能與-i剛好相反,是排除某個模組不收集
- # supportconfig -x LVM
- //使用-U url 可以將收集的結果上傳到伺服器上,直接的服務有ftp, scp, http, https,如:
- # supportconfig -A -U http://www.361way.com/files/
具體可以參看官方的常用的supportconfig選項部分,supportconfig收集的系統健康報告,程式碼如下:
- # supportconfig -A
- # cd /var/log
- # tar jxvf nts_361way.com_140825_1504.tbz
- # more basic-health-report.txt
- #==[ Command ]======================================#
- # /usr/bin/schealth -q
- ######################################################################
- Supportconfig Health Check Report Tool v1.00-5
- Date Checked: 09/12/14 04:40:37
- ######################################################################
- Health Check Files [ Green ]
- Processes Waiting for Run Queue [ Green ]
- Kernel Taint Status [ Red ]
- Kernel Tainted: 64 > 0
- CPU Utilization [ Green ]
- Interrupts Per Second [ Green ]
- Context Switches Per Second [ Green ]
- Free Memory and Disk Swapping [ Green ]
- Used Disk Space [ Green ]
- Uninterruptible Processes [ Green ]
- Zombie Processes [ Green ]
- ######################################################################
- Status: Red Flag
- Checked: /var/log/nts_361way.com_140825_1504/basic-health-check.txt
- Report: /var/log/nts_361way.com_140825_1504/basic-health-report.txt
- ######################################################################
上面的報告中,我們發現kernel Tainted 狀態為red,該處是通過cat /proc/sys/kernel/tainted 進行判斷的,如果值不為0,則是核心受到汙染,顯的值不同,具體可以參看/usr/src/linux/Documentation/sysctl/kernel 檔案,具體的值不一樣,代表的意義也不一樣,64報紅是由於載入了非系統官方或非開源的模組所致,Unsupported modules loaded.
四、supportconfig配置檔案
supportconfig的預設配置檔案是 /etc/supportconfig.conf,其預設內容如下:
- # cat /etc/supportconfig.conf
- ####################################
- # Default Options
- ####################################
- OPTION_AFP=1
- OPTION_APPARMOR=1
- OPTION_AUDIT=1
- OPTION_AUTOFS=1
- OPTION_BOOT=1
- OPTION_CHKCONFIG=1
- OPTION_CIFS=1
- OPTION_CIMOM=1
- OPTION_CRASH=1
- OPTION_CRON=1
- OPTION_DFS=1
- OPTION_DHCP=1
- OPTION_DISK=1
- OPTION_DNS=1
- OPTION_EDIR=1
- OPTION_ENV=1
- OPTION_ETC=1
- OPTION_EVMS=1
- OPTION_HA=1
- OPTION_HCREPORT=1
- OPTION_IB=1
- OPTION_ISCSI=1
- OPTION_LDAP=1
- OPTION_LUM=1
- OPTION_LVM=1
- OPTION_MEM=1
- OPTION_MOD=1
- OPTION_MPIO=1
- OPTION_NCP=1
- OPTION_NCS=1
- OPTION_NET=1
- OPTION_NFS=1
- OPTION_NSS=1
- OPTION_NTP=1
- OPTION_OCFS2=1
- OPTION_OFILES=1
- OPTION_PAM=1
- OPTION_PRINT=1
- OPTION_PROC=1
- OPTION_SAM=1
- OPTION_SAR=1
- OPTION_SLERT=1
- OPTION_SLP=1
- OPTION_SMART=0
- OPTION_SMB=1
- OPTION_SMS=1
- OPTION_SMT=1
- OPTION_SRAID=1
- OPTION_SSH=1
- OPTION_SYSCONFIG=1
- OPTION_SYSFS=1
- OPTION_UDEV=1
- OPTION_UP=1
- OPTION_UPD=1
- OPTION_WEB=1
- OPTION_X=1
- OPTION_XEN=1
- ADD_OPTION_EDIR=0
- ADD_OPTION_FSLIST=0
- ADD_OPTION_LOGS=0
- ADD_OPTION_MINDISK=0
- ADD_OPTION_MINYAST=0
- ADD_OPTION_RPMV=0
- ADD_OPTION_SLP=0
- VAR_OPTION_BIN_TIMEOUT_SEC=300
- VAR_OPTION_CONTACT_COMPANY=""
- VAR_OPTION_CONTACT_EMAIL=""
- VAR_OPTION_CONTACT_NAME=""
- VAR_OPTION_CONTACT_PHONE=""
- VAR_OPTION_CONTACT_STOREID=""
- VAR_OPTION_CONTACT_TERMINALID=""
- VAR_OPTION_CUSTOM_ARCH=""
- VAR_OPTION_GPG_UID=""
- VAR_OPTION_LINE_COUNT=500
- VAR_OPTION_LOG_DIRS="/var/log /tmp"
- VAR_OPTION_MSG_MAXSIZE=500000
- VAR_OPTION_PENGINE_FILES_LIMIT=250
- VAR_OPTION_SAR_FILES_LIMIT=30
- VAR_OPTION_SBM=0
- VAR_OPTION_SILENT=0 //www.bcty365.com
- VAR_OPTION_UNIQUE_FILE=0
- VAR_OPTION_UPLOAD_ALT='https://secure-www.novell.com/upload?appname=supportconfig&file={tarball}'
- VAR_OPTION_UPLOAD_TARGET='ftp://ftp.novell.com/incoming'
配置檔案中列出了預設收集的模組資訊,公司資訊、郵件、電話及上傳的伺服器目錄等.
五、supportconfig總結
supportconfig是使用shell 編寫的一個功能十分強大的工具,具體可以通過vim /sbin/supportconfig 檢視,同時,由於linux命令上的通用性,我們甚至可以很簡單的進行修改後將其移植到其他linux 發行版上,不過顯然這是沒必要的,因為還有一個比較通的用的開源工具sosreport和其作用差不多,而其適用性更強,後面會單獨列一篇做一個總結.