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 打开的内容如下:

由于页面较大,这里只截出了最上面的部分,列出了所有的收集模块,下面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] //此处可以设置默认enable和disable的模块
  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的区别。

linux信息收集篇之sosreport的更多相关文章

  1. Kali Linux信息收集工具

    http://www.freebuf.com/column/150118.html 可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得 ...

  2. Kali Linux信息收集工具全集

    001:0trace.tcptraceroute.traceroute 描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面的问题.与此相对基于TCP协议的探测,则 ...

  3. Kali Linux信息收集工具全

    可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得那个戏份不多但一直都在的Q先生(由于年级太长目前已经退休).他为007发明了众多神奇 ...

  4. 内网渗透----Linux信息收集整理

    一.基础信息收集 1.查看系统类型 cat /etc/issue cat /etc/*-release cat /etc/lsb-release cat /etc/redhat-release 2.内 ...

  5. web安全之信息收集篇

    信息收集 1.网络信息 网络信息就包括网站的厂商.运营商,网站的外网出口.后台.OA. 2.域名信息 通过域名可以查洵网站的所有人.注册商.邮箱等信息 --->Whois 第三方查询,查询子域网 ...

  6. linux信息收集

    1.系统区分debian系列:debian.ubunturedhat系列:redhat.centos 是否为docker.或者为虚拟机 分为通用模块.单独模块的信息获取 2.系统信息收集 内核(是否为 ...

  7. kali linux 信息收集(Kismet)

    1.kismet工具,是一个无线扫描工具,该工具通过测量周围的无线信号,可以扫描到周围附近所用可用的Ap,以及信道等信息.同时还可以捕获网络中的数据包到一个文件中.这样可以方便分析数据包.下面我将详细 ...

  8. 网络安全-主动信息收集篇第二章-三层网络发现之ping

    第三层网络扫描基于TCP/IP.ICMP协议. 优点:可路由.速度比较快 缺点:相对于二层网络扫描较慢,容易被边界防火墙过滤 所有扫描发现技术,都会有相应的对抗办法,所以无论是来自二层的网络扫描还是来 ...

  9. 网络安全-主动信息收集篇第二章SNMP扫描

    SNMP扫描: snmp在中大型企业中可以用来做网络管理和网络监控的使用,当开启了snmp简单网络管理后,那么客户机就可以通过这个协议向该设备发送snmp协议内容可以轻松查询到目标主机的相关信息. 以 ...

随机推荐

  1. Java你不知道的那些事儿—Java隐藏特性(上)

    每种语言都很强大,不管你是像我一样的初学者还是有过N年项目经验的大神,总会有你不知道的东西.就其语言本身而言,比如Java,也许你用Java开发了好几年,对其可以说是烂熟于心,但你能保证Java所有的 ...

  2. 和我一起打造个简单搜索之ElasticSearch集群搭建

    我们所常见的电商搜索如京东,搜索页面都会提供各种各样的筛选条件,比如品牌.尺寸.适用季节.价格区间等,同时提供排序,比如价格排序,信誉排序,销量排序等,方便了用户去找到自己心里理想的商品. 站内搜索对 ...

  3. CentOS 7下搭配简单的C语言开发环境

    在CentOS 7下安装gcc,gcc是编译和运行C语言的工具, 安装命令: yum install gcc 中途如果有询问则输入y 安装成功后,通过以下命令 gcc --version 来查看安装的 ...

  4. Java并发编程-synchronized指南

    在多线程程序中,同步修饰符用来控制对临界区代码的访问.其中一种方式是用synchronized关键字来保证代码的线程安全性.在Java中,synchronized修饰的代码块或方法不会被多个线程并发访 ...

  5. 记一次pm2的踩坑

    1.问题: 公司采用了自动发布平台,最近突然发现一个问题,上线完成后服务是能正常访问的,但是有一个节点访问的时候每两次中总是有一次404,通过nginx的access日志分析发现第一次正常访问有一次g ...

  6. SQL server Profiler 监视数据库活动

    做网站后台开始时需要考虑后台对数据库的一些操作,比如尽量减少查询次数,尽快释放连接,只选取必须的字段等等.如果是用三层开发,复杂的项目中直接拼装SQL语句多一点,拼装的SQL语句可以直接在SQL se ...

  7. Java基础——GUI编程(四)

    继前面的,这篇主要记录菜单和文件对话框的两个小练习,来熟悉一下方法的应用,一些简单的逻辑和Swing的相关简介,以及关于GUI基础的记录. 一.创建一个菜单 import java.awt.FlowL ...

  8. oracle逐步学习总结之约束(基础五)

    原创作品,转自请在文章明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10167717.html oracle中的约束主要有非空约束(not null) ...

  9. UI-12组结对编程作业总结

    UI-12组结对编程作业总结 源码Github地址 https://github.com/tilmto/TILMTO/tree/master/Arithmetic 作业摘要 本次结对编程作业分为以下两 ...

  10. SpringBoot启动加载类ApplicationRunner

    SpringBoot启动加载类ApplicationRunner 有时希望项目在启动的时候加载一些系统参数,就要用到ApplicationRunner ApplicationRunner是一个接口,我 ...