Handy new tool, XSOS

Latest response

 

Hi Team,

  I wanted to take a moment to introduce everyone to a tool written by one of our own, Ryan Sawhill.  Ryan saw a need to quickly and accurately parse an sosreport and developed xsos

https://github.com/ryran/xsos  

This tool will not only parse an existing, extracted sosreport, but will scan the system its being run on and provide relevant system data.

In Ryan's own words:

The goal of xsos is to make it easy to instantaneously gather information about a system together in an easy-to-read-summary, whether that system is the localhost on which xsos is being run or a system for which you have an unpacked sosreport.

There is tons of useful amazing instructive data available to normal users (not to mention root) on a Linux system, but by design, this information is spread out across myriad files. Some of it even requires commands to parse through.

xsos will attempt to make it easy, parsing and calculating and formatting data from dozens of files (and commands) to give you a detailed overview about a system, or -- if requested -- xsos will only parse one file (e.g. with --mem or --cpu) or output from one command (e.g. with --ip or --ps).

New features are being added all the time -- see the tracker to have a look at some of the things that are already in line to be worked on.

 

Parameters available include:


# xsos -h

Usage: xsos [DISPLAY OPTIONS] [-abocmdleinsp] [SOSREPORT ROOT]

  or:  xsos [DISPLAY OPTIONS] {--B|--C|--M|--D|--L|--I|--N|--P FILE}...

  or:  xsos [-?|-h|--help]

  or:  xsos [-U|--update]


Display system info from localhost or extracted sosreport


Content options:

 -a, --all      show everything

 -b, --bios     show info from dmidecode

 -o, --os       show release, hostname, uptime, loadavg, cmdline

 -c, --cpu      show info from /proc/cpuinfo

 -m, --mem      show info from /proc/meminfo

 -d, --disks    show info from /proc/partitions + dm-multipath

 -l, --lspci    show info from lspci

 -e, --ethtool  show info from ethtool

 -i, --ip       show info from ip addr (BASH v4+ required)

 -n, --net      show info from /proc/net/dev

 -s, --sysctl   show important kernel sysctls

 -p, --ps       inspect running processes via ps

I would encourage you to grab the latest version from git and give it a run.  

Ryan LOVES feedback,  if you have any feedback, enhancement requests etc, please let us know.

 

Thank you!

Jim Lyle, RHCE

Technical Account Manager(TAM)

Jim Lyle's picture

Responses

Ryan LOVES feedback,  if you have any feedback, enhancement requests etc...

Having known Ryan for many a year, I can confirm this statement to be truth. Also, here's a couple screen-shots to whet the apetite.

Great tool Ryan, thanks for putting it together!  This really helps me wrap my head around an issue, seeing everything laid out so cleanly at the outset of troubleshooting an issue.  It really helps me get a quick lay-of-the-land (so to speak) and focus quickly where I need to to solve the problem at hand.

 

xsos++

Hello Ryan this look really good!

Is this right place for bug report ? It looks like it does not see multipath correctly ?

Example: (RHEL 6.3)

# ./xsos.sh -d
STORAGE
  Multipath:
  Disks:
    6 disks, totaling 679 GiB (0.66 TiB)
    sda   93.1 G
    sdb   186.3 G
    sdc   100.0 G
    sdd   100.0 G
    sde   100.0 G
    sdf   100.0 G
 

sdc and sdd is same lun (2 paths) and sde and sdf is same lun (2 paths)

Disk /dev/sdc: 107.4 GB, 107374182400 bytes
Disk /dev/sdd: 107.4 GB, 107374182400 bytes

Disk /dev/mapper/mpathc: 107.4 GB, 107374182400 bytes
---------------------------------------------------------------------------
Disk /dev/sde: 107.4 GB, 107374182400 bytes
Disk /dev/sdf: 107.4 GB, 107374182400 bytes

Disk /dev/mapper/mpathd: 107.4 GB, 107374182400 bytes

# /etc/init.d/multipathd status
multipathd (pid  3491) is running...

Hope this helps.

Hello Ryan this look really good!

Glad you like it!

Is this right place for bug report ? It looks like it does not see multipath correctly ?

Well, this is a discussion forum, so it's a fine place to get my attention. :)  ... However, to continue, it would perhaps be better to take it to the xsos issue tracker. I already created a new issue for this, but I'm going to need you to give me some data. Namely, could you send me the output of `multipath -v4 -ll` from said system? You could either post that to the issue tracker (I think it would be too big for this forum -- and even if it wasn't, the formatting would get screwed up), or if you'd prefer it be private, you could email it to me at rsaw@redhat.com (as an attachment, so as to preserve formatting).

Thanks Stefan!

Thanks for the feedback Christopher! That's definitely a big part of what I had in mind when I set out to create it. When I get a sosreport from a new system I'm trying to troubleshoot, the first thing I do is take 1 minute to look through all the xsos output to get a feel for what the system is capable of and how it's configured -- and also to see if anything jumps out at me (there have been numerous times where I've caught something in that first minute that I wouldn't have otherwise thought to look for).

Of course the other use-case is just making things easier when using a system as a normal admin, i.e., checking top processes with `--ps`, packet stats with `--net`, or a quick overview of the available NICs & ipaddrs with `--ip`.

Stefan, I finally had a little time today to take a look at this. Should be all fixed. See explanation and details here on the issue tracker, if you're interested. :)

Thanks again for being the first person besides me to submit a bug!!

To anyone else: If you've ever found yourself looking through a sosreport, wishing you had a quick way to see which mpath map a particular lun was part of .. or simply wanting to quickly get a look at a particular map, also check out the link above. I wrote a quick little bit of bash to do just that.

Hi ,

can I have any predictive analytics tools to detect the warninigs/failuers and redirect to custom log

Regards Bhaskar D

Was this helpful?

We appreciate your feedback. Leave a comment if you would like to provide more detail.
It looks like we have some work to do. Leave a comment to let us know how we could improve.