• linux信息收集篇之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平台的安装如下:

    1. // redhat/centos下的安装
    2. # yum -y insatll sos
    3. // ubuntu下的安装
    4. # sudo apt-get install sosreport

    二、sosreport用法

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

    1. [root@361way ~]# sosreport --help
    2. Usage: sosreport [options]
    3. Options:
    4. -h, --help show this help message and exit
    5. -l, --list-plugins list plugins and available plugin options
    6. -n NOPLUGINS, --skip-plugins=NOPLUGINS
    7. disable these plugins
    8. -e ENABLEPLUGINS, --enable-plugins=ENABLEPLUGINS
    9. enable these plugins
    10. -o ONLYPLUGINS, --only-plugins=ONLYPLUGINS
    11. enable these plugins only
    12. -k PLUGOPTS, --plugin-option=PLUGOPTS
    13. plugin options in plugname.option=value format (see
    14. -l)
    15. -a, --alloptions enable all options for loaded plugins
    16. --batch batch mode - do not prompt interactively
    17. --build keep sos tree available and dont package results
    18. -v, --verbose increase verbosity
    19. --quiet only print fatal errors
    20. --debug enable interactive debugging using the python debugger
    21. --ticket-number=TICKET_NUMBER
    22. specify ticket number
    23. --name=CUSTOMER_NAME specify report name
    24. --config-file=CONFIG_FILE
    25. specify alternate configuration file
    26. --tmp-dir=TMP_DIR specify alternate temporary directory
    27. --report Enable HTML/XML reporting
    28. --profile turn on profiling
    29. -z COMPRESSION_TYPE, --compression-type=COMPRESSION_TYPE
    30. compression technology to use [auto, zip, gzip, bzip2,
    31. xz] (default=auto)
    32. Some examples:
    33. enable cluster plugin only and collect dlm lockdumps:
    34. # sosreport -o cluster -k cluster.lockdump
    35. disable memory and samba plugins, turn off rpm -Va collection:
    36. # sosreport -n memory,samba -k rpm.rpmva=off

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

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

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

    1. # xz -d ***.tar.xz
    2. # tar -xvf ***.tar
    3. 或直接使用下面的命令一步完成解压
    4. tar xvJf ***.tar.xz

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

    sosreport

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

    三、sosreport配置文件

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

    1. [root@361way ~]# cat /etc/sos.conf
    2. [general]
    3. #ftp_upload_url = ftp://example.com/incoming
    4. #gpg_keyring = /usr/share/sos/rhsupport.pub
    5. #gpg_recipient = support@redhat.com
    6. smtp_server = None
    7. [plugins] //此处可以设置默认enabledisable的模块
    8. #disable = rpm, selinux, dovecot
    9. [tunables] //可调参数
    10. #rpm.rpmva = off
    11. #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的区别。

  • 相关阅读:
    quick-cocos2d-x + Lua 开发
    设置 Quick-Cocos2d-x 在 Windows 下的编译环境
    luaIDE选择
    接管radiobutton onclick 事件
    AlphaControls的使用方法
    Delphi程序调用C#.Net编译的DLL并打开窗体(详解)
    delphi 正则表达式
    Windows server 2003 伪静态配置方法
    windows 2003 iis php
    Linux Shell系列教程之(十一)Shell while循环
  • 原文地址:https://www.cnblogs.com/DataArt/p/9650112.html
Copyright © 2020-2023  润新知