How to Generate sosreport on Ubuntu 18.04

Photo of author

By rasho

Sosreport generates an archive of configuration and diagnostic information from the running system. The archive may be stored locally or centrally for recording or tracking purposes or may be sent to technical support representatives, developers or system administrators to assist with technical fault-finding and debugging.
Sos is modular in design and is able to collect data from a wide range of subsystems and packages that may be installed. An XML or HTML report summarizing the collected information is optionally generated and stored within the archive.
This reports contains bunch of information about the system such as boot information, filesystem, memory, hostname, installed rpms, system IP, networking details, OS version, installed kernel, loaded kernel modules, list of open files, list of PCI devices, mount point and it’s details, running process information, process tree output, system routing, all the configuration files which is located in /etc folder, and all the log files which is located in /var folder.
SOS tool is available for most of the Linux distributions (RHEL, CentOS, Ubuntu, Debian & SUSE). In this tutorial we will discuss how to generate SOS report on Ubuntu 18.04 / Ubuntu 18.10.
[box type=”note” align=”” class=”” width=””]Note: By default, SOS package is the part of default installation of Ubuntu 18.04 and Debian 9 Server.[/box]

Generating sosreport on Ubuntu 18.04 / Ubuntu 18.10 Server

Login to your server and execute the command sosreport.

sudo sosreport

You will be asked to enter some details of your system, such as system name, case id etc. Type the details accordingly, and press ENTER key to generate the report. If you don’t want to change anything and want to use the default values, simply press ENTER.
Sample output from my Ubuntu 18.04 server:

rasho@srv:~$ sudo sosreport
[sudo] password for rasho:

sosreport (version 3.5)

This command will collect system configuration and diagnostic
information from this Ubuntu system. An archive containing the collected
information will be generated in /tmp/sos.7iuo4j8z.

For more information on Ubuntu visit:

  http://www.ubuntu.com/

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 [srv]:
Please enter the case id that you are generating this report for []:

 Setting up archive ...
 Setting up plugins ...
 Running plugins. Please wait ...

  Running 56/56: xfs...
Creating compressed archive...

Your sosreport has been generated and saved in:
  /tmp/sosreport-srv-20190328211148.tar.xz

The checksum is: bee79278800f15f6e6561b8a22255170

Please send this file to your support representative.

[ads]
If you don’t want to be prompted for entering such details, simply use batch mode like below.

sudo sosreport --batch

Above command will take couple of minutes to generate the report and that report will be compressed as xz format. Apart from this, /tmp folder is the default location where sosreport is stored.
While generating the report you can also specify the CASE ID for server fault and your first name and last name.

Save sosreport to an alternate path or folder

Let’s assume you server has separate /tmp folder and which doesn’t have enough free space in that case you can instruct sosreport command to save the report to other folders using option –tmp-dir, example is shown below.

sudo sosreport --tmp-dir /mnt

Generating sosreport in different compression type

Sosreport is archived and compressed using the different compression techniques like gzip, bzip2, xz.
Default compression for sosreport is xz, if you want to use other compression techniques while generating the sosreport, then specify the options –compression-type, example is shown below:

sudo sosreport --compression-type bzip2

List all plugins for sosreport

If you are interested which plugins are available for sosreport, run the following command

sudo sosreport -l

Generate the sosreport by skipping specific plugins

While generating the sosreport, if you want to skip the data of specific plugin or modules then use -n option in sosreport command followed by plugin name
Let’s assume I am want to generate the sosreport but I want to skip udev information in that report, use the following command:

sudo sosreport -n udev --batch

Generating sosreport only for specific plugins or modules

There can be some scenarios where we are required to generate the sosreport of your server only for specific plugins, this can easily be achieved using -o option followed by the plugin name.

Sosreport for memory only

sudo sosreport -o memory --batch

Sosreport for memory and kernel plugins

sudo sosreport -o memory,kernel --batch

Additional Options

Visit help page to view all available options for sosreport.

$ sudo 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
  --experimental        enable experimental 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)
  --log-size=LOG_SIZE   set a limit on the size of collected logs (in MiB)
  -a, --alloptions      enable all options for loaded plugins
  --all-logs            collect all available logs regardless of size
  --batch               batch mode - do not prompt interactively
  --build               preserve the temporary directory and do not package
                        results
  -v, --verbose         increase verbosity
  --verify              perform data verification during collection
  --quiet               only print fatal errors
  --debug               enable interactive debugging using the python debugger
  --ticket-number=CASE_ID
                        specify ticket number
  --case-id=CASE_ID     specify case identifier
  -p PROFILES, --profile=PROFILES
                        enable plugins selected by the given profiles
  --list-profiles       display a list of available profiles and plugins that
                        they include
  --name=CUSTOMER_NAME  specify report name
  --config-file=CONFIG_FILE
                        specify alternate configuration file
  --tmp-dir=TMP_DIR     specify alternate temporary directory
  --no-report           disable HTML/XML reporting
  -s SYSROOT, --sysroot=SYSROOT
                        system root directory path (default='/')
  -c CHROOT, --chroot=CHROOT
                        chroot executed commands to SYSROOT [auto, always,
                        never] (default=auto)
  -z COMPRESSION_TYPE, --compression-type=COMPRESSION_TYPE
                        compression technology to use [auto, gzip, bzip2, xz]
                        (default=auto)

Some examples:

 enable dlm plugin only and collect dlm lockdumps:
   # sosreport -o dlm -k dlm.lockdump

 disable memory and samba plugins, turn off rpm -Va collection:
   # sosreport -n memory,samba -k rpm.rpmva=off

That’s all from this article, If you want to read more on sosreport command options refer is man page.

man sosreport

In case if you find this article informative then please do share your feedback and comments.

Leave a Comment