音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

Linux中安装sosreport和supportconfig来收集系统信息
日期:2015-11-10 11:57:43   来源:脚本之家

sosreport
sosreport是一个类型于supportconfig 的工具,sosreport是python编写的一个工具,适用于centos(和redhat一样,包名为sos)、ubuntu(其下包名为sosreport)等大多数版本的linux 。sosreport在github上的托管页面为:https://github.com/sosreport/sos ,而且默认在很多系统的源里都已经集成有。如果使用的是正版redhat,在出现系统问题,寻求官方支持时,官方一般也会通过sosreport将收集的信息进行分析查看。需要注意的是在一些老的redhat发行版中叫sysreport ------ 如redhat4.5之前的版本中。

一、sosreport的安装

在默认使用linux发行版的源进行安装时,由于在不同的系统上包名称也会有差异,所以使用的命令也不同,如redhat和ubuntu平台的安装如下:

复制代码
代码如下:

// redhat/centos下的安装
# yum -y insatll sos
// ubuntu下的安装
# sudo apt-get install sosreport

二、sosreport用法

可以使用sosreport --help或man sosreport 获取使用帮助手册,如下:

复制代码
代码如下:

[root@361way ~]# sosreport --help
Usage: sosreport [options]
Options:
-h, --help show this help message and exit
-l, --list-plugins list plugins and available plugin options
-n NOPLUGINS, --skip-plugins=NOPLUGINS
disable these plugins
-e ENABLEPLUGINS, --enable-plugins=ENABLEPLUGINS
enable these plugins
-o ONLYPLUGINS, --only-plugins=ONLYPLUGINS
enable these plugins only
-k PLUGOPTS, --plugin-option=PLUGOPTS
plugin options in plugname.option=value format (see
-l)
-a, --alloptions enable all options for loaded plugins
--batch batch mode - do not prompt interactively
--build keep sos tree available and dont package results
-v, --verbose increase verbosity
--quiet only print fatal errors
--debug enable interactive debugging using the python debugger
--ticket-number=TICKET_NUMBER
specify ticket number
--name=CUSTOMER_NAME specify report name
--config-file=CONFIG_FILE
specify alternate configuration file
--tmp-dir=TMP_DIR specify alternate temporary directory
--report Enable HTML/XML reporting
--profile turn on profiling
-z COMPRESSION_TYPE, --compression-type=COMPRESSION_TYPE
compression technology to use [auto, zip, gzip, bzip2,
xz] (default=auto)
Some examples:
enable cluster plugin only and collect dlm lockdumps:
# sosreport -o cluster -k cluster.lockdump
disable memory and samba plugins, turn off rpm -Va collection:
# sosreport -n memory,samba -k rpm.rpmva=off

上面也列出了具体操作的示例。其中-l 参数会列出当前enable和disable的所有服务插件及当前available的所有插件。

复制代码
代码如下:

[root@361way log]# sosreport -a --report
sosreport (version 3.0)
This command will collect diagnostic and configuration information from
this CentOS Linux system and installed applications.
An archive containing the collected information will be generated in
/var/tmp and may be provided to a CentOS support representative.
Any information provided to CentOS will be treated in accordance with
the published support policies at:
https://www.centos.org/
The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.
No changes will be made to system configuration.
Press ENTER to continue, or CTRL-C to quit.
Please enter your first initial and last name [361way.com]:
Please enter the case number that you are generating this report for:
Running plugins. Please wait ...
Running 68/68: yum...
Creating compressed archive...
Your sosreport has been generated and saved in:
/var/tmp/sosreport-361way.com-20140912204339.tar.xz
The checksum is: eaf5b2cbb1e9be68d41be5e5a60a61b6
Please send this file to your support representative.

如上所示,我使用-A 启用所有的模块,--report是开启所有的结果以html /xml 的格式一个总的报告。生成的包需要通过下面的命令进行解包。

复制代码
代码如下:

# xz -d ***.tar.xz
# tar -xvf ***.tar

或直接使用下面的命令一步完成解压

复制代码
代码如下:

tar xvJf ***.tar.xz

在解包后的sos_reports 目录会有report的结果sos.html文件生成,同时会有sos.txt文件生成,该文件内列出了具体执行的命令及copy 文件的一些信息。

由于页面较大,这里只截出了最上面的部分,列出了所有的收集模块,下面alerts 给出了报警模块的信息。再往下就是具体到每一个模块的信息。

三、sosreport配置文件

sosreport的配置文件是/etc/sos.conf ,默认内容如下:

复制代码
代码如下:

[root@361way ~]# cat /etc/sos.conf
[general]
#ftp_upload_url = ftp://example.com/incoming
#gpg_keyring = /usr/share/sos/rhsupport.pub
#gpg_recipient = support@redhat.com
smtp_server = None
[plugins] //此处可以设置默认enable和disable的模块
#disable = rpm, selinux, dovecot
[tunables] //可调参数
#rpm.rpmva = off
#general.syslogsize = 15

从配置文件上可以看出,sosreport同样将收集的结果上传到server 上,可以通过man sos.conf 查看配置文件的帮助信息,不过man给出的并没有太多信息,想在了解更多的信息可以查看 sosreport在github上的wiki页 。

四、sosreport总结

相于supportconfig,由于sosreport是由python语言进行编写的,所以其在功能扩展上更有优势,但由于在不同的发行版本上的python版本不同,在进行功能扩展时,对不同版本间的异常处理相对麻烦。而supportconfig由于是shell 语言编写的一个工具,对版本的依赖相对少些 ,但对一些工具的依赖相对多些 ,如在获取进程相关的信息时,shell 需要将ps 工具或处理proc的结果,而sosreport则可以直接import psutil 模块,两者之间的区别,归根到底就是shell 和python的区别。

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:
<a href="https://secure-support.novell.com/eService_enu">https://secure-support.novell.com/eService_enu</a>
If you cannot attach the tar ball to the SR, then email it to the engineer.
Please submit bug fixes or comments via:
<a href="http://en.opensuse.org/Supportutils#Reporting_Bugs">http://en.opensuse.org/Supportutils#Reporting_Bugs</a>
=============================================================================
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:
<a href="https://secure-support.novell.com/eService_enu">https://secure-support.novell.com/eService_enu</a>
You can also upload the tar ball to <a href="ftp://ftp.novell.com/incoming">ftp.novell.com/incoming</a>, 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 <a href="mailto:tux@example.org">tux@example.org</a> -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 <a href="http://www.361way.com/files/">http://www.361way.com/files/</a>
具体可以参看官方的 常用的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
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和其作用差不多,而其适用性更强,后面会单独列一篇做一个总结。

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    Windows系统Linux系统苹果MACAndroidiOS系统鸿蒙系统